Skip to content

ArcGIS support for FeatureService #12146

@dsuren1

Description

@dsuren1

Description

The ArcGIS FeatureService expose endpoints to retrieve vector data, here available endpoints to query features:

One important aspect about FeatureService is the possibility to have multiple layers inside a single endpoint request

This implementation should focus on the two main mapping libraries in use: OpenLayers and CesiumJS

  • Default strategy: tile
    Tile strategy will provide the best balance of performance and UX for typical FeatureServer datasets. It will load features incrementally per tile grid cell, avoid fetching the entire dataset at once, and provide natural spatial partitioning.

  • For Cesium, TiledBillboardCollection will be extended to support other geometries by introducing a tileType option to control per-tile rendering. billboard for points (BillboardsTile) and feature for polygons/polylines (using a custom FeaturesTile class). Each tile would own a GeoJSONStyledFeatures instance with its own rendering primitives, and visibility could be managed by toggling the tile’s show/hide state

  • Mixed geometries within a single layer
    ArcGIS FeatureServer layers expose a single geometryType (e.g. esriGeometryPolygon, esriGeometryPoint) defined at the layer level. A layer cannot contain mixed geometry types, as the geometry type is fixed by the service schema. While different sub-layers within the same FeatureServer may use different geometry types, each sub-layer will be treated as an independent layer in MapStore

Acceptance criteria

  • FeatureServer endpoint in the layer catalog support
  • Support for FeatureServer layer in OpenLayers
  • Support for FeatureServer layer in CesiumJS
  • Identify support
  • Style editor support
  • Legend support

Other useful information

The one below is a FeatureServer URL provided by client that we can use also for testing:
https://services2.arcgis.com/pROHh69WvVijk4nR/ArcGIS/rest/services/GSE_DISTRIBUTORI_STANDARD/FeatureServer

Metadata

Metadata

Assignees

Labels

New Featureused for new functionalities

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions