diff --git a/README.md b/README.md index 777a3d7..f8d9212 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,17 @@ Links to a [TileJSON](https://github.com/mapbox/tilejson-spec) document. | href | string | **REQUIRED**. Link to the valid TileJSON document. | | type | string | Recommended to be set to `application/json`. | +### FeatureServer + +Links to a [ArcGIS FeatureServer](https://developers.arcgis.com/rest/services-reference/enterprise/query-feature-service-layer/) service. + +| Field Name | Type | Description | +| --------------- | -------------------- | ----------- | +| rel | string | **REQUIRED**. Must be set to `arcgis-featureserver`. | +| href | string | **REQUIRED**. Link to a FeatureServer service. Usually has the following form `https:////FeatureServer` | +| type | string | Recommended to be set to `application/json` | +| featureserver:layers | Map | The layers included in the service. The key should be used as the `LayerId` when querying the service. For example: `https:////FeatureServer//query` | + ### General The following field applies to multiple types of web mapping services: diff --git a/examples/collection.json b/examples/collection.json index 46ccbc4..bc292f6 100644 --- a/examples/collection.json +++ b/examples/collection.json @@ -95,6 +95,15 @@ "pmtiles:layers": [ "streets" ] + }, + { + "href": "https://service.arcgis.com/arcgis/rest/datast/FeatureServer", + "rel": "arcgis-featureserver", + "title": "ArcGIS FeatureServer", + "type": "application/json", + "featureserver:layers": { + "0": "streets" + } } ] } \ No newline at end of file diff --git a/json-schema/schema.json b/json-schema/schema.json index edddfba..2bbc289 100644 --- a/json-schema/schema.json +++ b/json-schema/schema.json @@ -165,6 +165,27 @@ } } } + }, + { + "$comment": "Defines FeatureServer links", + "if": { + "properties": { + "rel": { + "const": "arcgis-featureserver" + } + } + }, + "then": { + "properties": { + "featureserver:layers": { + "type": "object", + "additionalProperties": { + "type": "string", + "minLength": 1 + } + } + } + } } ] }