All Collections
Maps & Layers
Uploading Specific Layer Types
Adding Map Layers From Web Mapping Services
Adding Map Layers From Web Mapping Services

How to add online map layers from a variety of popular web mapping services. (Intermediate)

Jacob Payne avatar
Written by Jacob Payne
Updated over a week ago

Fulcrum supports XYZ tiles in the standard Web Mercator projection on both the web and mobile platforms. This allows you to include custom external basemaps and GIS overlays from a variety of sources. If you want to include features like tax parcel boundaries or water mains to help provide location context while you are collecting data, this is a great solution.

This guide will walk you through the steps required to add map layers from a variety of popular web mapping and GIS platforms. Be aware that API's can change often and without warning, so these techniques are not guaranteed to work forever. Be sure also to check the terms of service and usage restrictions for any service you want to use and sign up for your own API tokens where applicable.

Background

Most web maps are made up of many small, square images called tiles. These tiles are typically 256×256 pixels and are placed side-by-side in order to create the illusion of a very large seamless image. There are several different tiling schemes, but among the most popular is the standard XYZ tile scheme, used by Google, OpenStreetMap, CARTO, Mapbox, and others. Tile images are served through a REST API with a URL like http://.../Z/X/Y.png, where Z is the zoom level, and X and Y identify the tile.

ArcGIS

Many governments and other large organizations manage their geospatial data in ESRI's ArcGIS ecosystem. ArcGIS for Server supports a variety of formats, but if the data is available via the REST API as a cached map service with a Web Mercator projection, it should be compatible with Fulcrum. Dynamic services are directly consumable in Fulcrum using the WMS format.

The New York Statewide Digital Orthoimagery Program (NYSDOP) has been producing orthoimagery annually for various portions of the state since 2000. The state makes this imagery available via their NYS Orthos Online program, which includes a web application and direct access to their cached map services.

Loading these services into Fulcrum is fairly straightforward:

  • After confirming that the service is compatible: "Single Fused Map Cache", Spatial Reference: 102100  (Web Mercator), 256x256px, we can proceed.

  • The URL template is: https://orthos.dhses.ny.gov/arcgis/rest/services/2017/MapServer/tile/{z}/{y}/{x}

Mapbox

Mapbox now supports directly accessing raster tile endpoints for Mapbox studio styles. This means you can design custom maps in Mapbox Studio and access them directly in Fulcrum!

  • From the Styles page in Mapbox Studio, click on either a Mapbox style or one of your own custom styles.

  • Scroll down the style page until you see the "Use style in GIS apps" section and click on the Fulcrum tab.

CARTO

CARTO supports direct tile access via Named Maps. In order to load your CARTO layers into Fulcrum, you must first create a Named Map. This cannot currently by done in the CARTO Editor, so you have to manually create it using the Named Maps API.

  • Create a JSON template (template.json):

{
  "version": "0.0.1",
  "name": "tax_parcels",
  "layergroup": {
    "layers": [{
      "type": "cartodb",
      "options": {
        "cartocss_version": "2.1.1",
        "cartocss": "#tax_parcels{polygon-opacity: 0;line-color: #D6301D;line-width: 1.5;line-opacity: 1;}",
        "sql": "select * from tax_parcels"
      }
    }]
  }
}

  • Use the command line or terminal to POST that template to the named maps API:

curl -X POST \
  -H 'Content-Type: application/json' \
  -d @template.json \
  'https://{username}.carto.com/api/v1/map/named/?api_key={api_key}'

  • Use the following URL template in a Fulcrum Tile XYZ layer:

https://{username}.carto.com/api/v1/map/named/tax_parcels/all/{z}/{x}/{y}.png

Did this answer your question?