Esri ArcGIS
Discover layers and query bounded WGS84 features from an authorized ArcGIS service
Vendor ID: esri · Maturity: preview
Connect one ArcGIS FeatureServer or MapServer service. The Geo capability supports layer discovery, description, and bounded feature queries. Geocoding, routing, rendering, portal crawling, bulk export, and ingestion are outside this extension's initial scope.
Configure the connection
Set the required baseUrl to a service URL, for example https://gis.example.com/arcgis/rest/services/Places/FeatureServer. Do not append a layer ID, query parameters, credentials, or a fragment.
The endpoint must use HTTPS on port 443, resolve to public addresses, and have its actual hostname explicitly allowed by your organization's egress policy. Configuring a URL does not itself authorize network access. This preview does not support private or loopback services through the installed extension broker.
Choose Anonymous public service for public data, or ArcGIS token for a token authorized for this specific source. Credentials remain in the existing encrypted connection system. An anonymous connection sends no token; a basemap subscription does not imply feature-service access.
Query behavior
The three supported operations are geo.layers.list, geo.layers.describe, and geo.features.query. Discovery is limited to 32 layers in the configured service; larger catalogs fail rather than silently omit layers. Layer metadata reports its own query support. Queries require the service's pagination and ordering capabilities, and use its object ID for stable ordering.
Supply a WGS84 bounding box, optional structured attribute filters, requested fields, and a limit of 1–500 features (default 100). Fields and literal types must match layer metadata. Raw SQL is not accepted. Antimeridian envelopes are split and matching feature IDs are deduplicated.
ArcGIS reprojects results to WGS84. Geometry is returned in longitude/latitude order with Z removed; point, line, polygon, and multipart geometry are bounded to 4,096 positions per geometry. Date fields identified by the service metadata become ISO timestamps. Other numeric properties remain numbers.
Geometry is simplified by the service before it is sent, using maxAllowableOffset scaled to the area you query — roughly the finest detail a map of that extent could show. Coastlines, maritime boundaries and other highly detailed outlines would otherwise exceed the 4,096-position bound and be refused, and the discarded detail is smaller than a pixel at the extent requested.
Outlines returned this way are therefore suitable for display, not for measurement: an area or perimeter computed from a simplified outline differs slightly from the source geometry. Query a smaller area for finer detail — the simplification scales with the extent, so a tighter bounding box returns a more faithful outline.
A shape that still exceeds the bound after simplification is refused with INVALID_REQUEST rather than reported as a provider failure; the service answered correctly, the result is simply larger than the contract carries.
truncated is mandatory. Continue with the returned cursor using the same source, layer, bounding box, fields, filters, and limit. Cursors fit the public 4,096-character budget. If antimeridian deduplication state cannot fit, the result remains truncated: true without a cursor; narrow the area to obtain further results. Internal deduplication is bounded to 1,000 identities. Queries are live reads, not snapshots: source edits during paging can change results. Layer caps are respected, each invocation is bounded to 16 page reads, 40 total HTTP requests, 2 MiB per response, and a 15-second adapter deadline. Runtime cancellation and governance still apply.
Provider attribution is retained when supplied. Retrieval time is assigned by the platform and is distinct from observation time in source properties. Honor the source's licensing, caching, and retention terms.
Verification
Required conformance tests use local HTTP fixtures. The optional public smoke script in this extension runs only with GEO_LIVE=1 and invokes the adapter against the ArcGIS sample earthquake service and ArcGIS Online counties. Public availability and authenticated entitlements are separate from fixture coverage.