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

Add ArcGIS FeatureServer Link #27

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `featureserver`. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that a well-known standard or is the only software for this ArcGIS? If not, I'd propose to switch to

Suggested change
| rel | string | **REQUIRED**. Must be set to `featureserver`. |
| rel | string | **REQUIRED**. Must be set to `arcgis-featureserver`. |

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is specific to Arcgis only. Agree.

| href | string | **REQUIRED**. Link to a FeatureServer service. Usually has the following form `https://<root>/<serviceName>/FeatureServer` |
| type | string | Recommended to be set to `application/json` |
| featureserver:layers | Map<string, string> | The layers included in the service. The key should be used as the `LayerId` when querying the service. For example: `https://<root>/<serviceName>/FeatureServer/<layerId>/query` |
Copy link
Contributor

@m-mohr m-mohr Feb 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What purpose do the values have here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

href and featureserver:layers can be used by a client to determine which layers are available for query directly without having to recursively search for layers in the json response.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that the key is used in the URL template, but the value is just for visualization purposes then? I don't see that being used directly...


### General

The following field applies to multiple types of web mapping services:
Expand Down
9 changes: 9 additions & 0 deletions examples/collection.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
]
}
25 changes: 25 additions & 0 deletions json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Comment on lines +178 to +187
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The schema is wrong.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will look at this again

}
}
}
}
}
}
]
}
Expand Down