From 16ca0641fd70cd9c14dba7a3e7a084f276aae0b6 Mon Sep 17 00:00:00 2001 From: smohiudd Date: Tue, 5 Nov 2024 09:41:42 -0700 Subject: [PATCH 1/4] add featureserver --- README.md | 12 ++++++++++++ examples/collection.json | 9 +++++++++ json-schema/schema.json | 25 +++++++++++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/README.md b/README.md index 777a3d7..046d174 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,18 @@ 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 `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 | Layers | + + ### General The following field applies to multiple types of web mapping services: diff --git a/examples/collection.json b/examples/collection.json index 46ccbc4..ee51d2d 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": "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..109a407 100644 --- a/json-schema/schema.json +++ b/json-schema/schema.json @@ -165,6 +165,31 @@ } } } + }, + { + "$comment": "Defines FeatureServer links", + "if": { + "properties": { + "rel": { + "const": "featureserver" + } + } + }, + "then": { + "properties": { + "pmtiles:layers": { + "type": "object", + "items": { + "type": "string", + "minItems": 1, + "items": { + "type": "string", + "minLength": 1 + } + } + } + } + } } ] } From ba7aad26276ba7a5b91a914f4f9d77b25b5e84e5 Mon Sep 17 00:00:00 2001 From: smohiudd Date: Tue, 5 Nov 2024 09:51:16 -0700 Subject: [PATCH 2/4] layer property description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 046d174..b8d5890 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ Links to a [ArcGIS FeatureServer](https://developers.arcgis.com/rest/services-re | rel | string | **REQUIRED**. Must be set to `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 | Layers | +| 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 From 2220e35ddd647b94f9bbd1e7f3842217dbf365fb Mon Sep 17 00:00:00 2001 From: smohiudd Date: Mon, 3 Feb 2025 08:42:28 -0500 Subject: [PATCH 3/4] markdown fixes --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index b8d5890..8a4d772 100644 --- a/README.md +++ b/README.md @@ -144,11 +144,10 @@ Links to a [ArcGIS FeatureServer](https://developers.arcgis.com/rest/services-re | Field Name | Type | Description | | --------------- | -------------------- | ----------- | | rel | string | **REQUIRED**. Must be set to `featureserver`. | -| href | string | **REQUIRED**. Link to a FeatureServer service. Usually has the following form `https:////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: From 10ebc23c282e5ab020ab87ff333f90bbf5173e26 Mon Sep 17 00:00:00 2001 From: smohiudd Date: Thu, 27 Mar 2025 07:08:54 -0600 Subject: [PATCH 4/4] schema fixes --- README.md | 2 +- examples/collection.json | 2 +- json-schema/schema.json | 12 ++++-------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8a4d772..f8d9212 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ Links to a [ArcGIS FeatureServer](https://developers.arcgis.com/rest/services-re | Field Name | Type | Description | | --------------- | -------------------- | ----------- | -| rel | string | **REQUIRED**. Must be set to `featureserver`. | +| 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` | diff --git a/examples/collection.json b/examples/collection.json index ee51d2d..bc292f6 100644 --- a/examples/collection.json +++ b/examples/collection.json @@ -98,7 +98,7 @@ }, { "href": "https://service.arcgis.com/arcgis/rest/datast/FeatureServer", - "rel": "featureserver", + "rel": "arcgis-featureserver", "title": "ArcGIS FeatureServer", "type": "application/json", "featureserver:layers": { diff --git a/json-schema/schema.json b/json-schema/schema.json index 109a407..2bbc289 100644 --- a/json-schema/schema.json +++ b/json-schema/schema.json @@ -171,21 +171,17 @@ "if": { "properties": { "rel": { - "const": "featureserver" + "const": "arcgis-featureserver" } } }, "then": { "properties": { - "pmtiles:layers": { + "featureserver:layers": { "type": "object", - "items": { + "additionalProperties": { "type": "string", - "minItems": 1, - "items": { - "type": "string", - "minLength": 1 - } + "minLength": 1 } } }