Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESRI integration #4

Open
goldpbear opened this issue Jan 22, 2018 · 0 comments
Open

ESRI integration #4

goldpbear opened this issue Jan 22, 2018 · 0 comments

Comments

@goldpbear
Copy link
Contributor

goldpbear commented Jan 22, 2018

The purpose of this issue is to document configuration patterns we encounter when trying to work with ESRI data, and hopefully formulate strategies for dealing with different situations.

A lot of public data is made available over ESRI REST Services endpoints. While we do have a way to use such endpoints in Mapseed (via the esri-leaflet-renderers package), performance and appearance tend to be poor.

Certain ESRI endpoints expose open formats, including WMS, WMTS and GeoJSON, but it seems to be up to the agency or organization that controls the data whether or not to expose these services. In practice there's a grab-bag of formats available.

Below are a few configuration patterns we've encountered and examples of each.

WMS

A WMS request for metadata might look like this: https://www.fws.gov/wetlands/arcgis/services/Wetlands/MapServer/WMSServer?request=GetCapabilities&service=WMS

We can use Leaflet to construct a series of calls to WMS endpoints to retrieve tiles.

WMTS

WMTS is a cached version of WMS. A request for metadata might look like this: https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/WMTS?request=GetCapabilities&service=WMTS

We can use a Leaflet plugin to construct calls to WMTS endpoints. Performance tends to be quite good.

GeoJSON

A request for data might look like this: https://fortress.wa.gov/dnr/arcgisext/weba_ext_prod3/rest/services/Geology/WADNR_Surface_Geology_Web_Mercator/MapServer/28/query?where=1%3D1&f=geojson

Note that GeoJSON requests are often rate-limited, and a single request may only return a subset of the full data. Check the MaxRecordCount parameter in the metadata to see the rate limit for a given endpoint.

ESRI JSON

A sample request might look like:
https://fortress.wa.gov/ecy/ecyprodgislb/arcgis/rest/services/TCP/CleanupSitesStatic/MapServer/0/query?where=1%3D1&f=json

ESRI format

A sample request might look like this:
https://fortress.wa.gov/dnr/arcgisext/weba_ext_prod3/rest/services/Geology/WADNR_Surface_Geology_Web_Mercator/MapServer/28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant