(Service)Capabilities Endpoint¶
Der Capabilities-Endpunkt liefert detaillierte Informationen zu einem bestimmten Geodaten-Service, einschließlich unterstützter Operationen, Layer und deren Eigenschaften.
GET, POST
https://{server}/geojsonservice/v1/services/{service}/capabilities
https://{server}/geojsonservice/v1/services/{folder}/{service}/capabilities
Request-Struktur¶
Der Capabilities-Endpunkt unterstützt GET- und POST-Anfragen und hat die folgende Struktur:
https://{server}/geojsonservice/v1/services/{folder}/{service}/capabilities?crs=epsg:4326
Bei POST-Anfragen muss im Body Folgendes übergeben werden:
{
"type": "GetServiceCapabilities",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
}
}
crs (optional): Das verwendete Koordinatenreferenzsystem. Falls nicht angegeben, wird das Standard-Koordinatensystem verwendet.
Response-Struktur¶
Der Response enthält detaillierte Informationen zum angefragten Service. Die Struktur des Responses ist wie folgt definiert:
{
"type": "GetServiceCapabilitiesResponse",
"mapTitle": "",
"description": "",
"copyright": "",
"supportedRequests": [
{
"name": "map",
"maxImageWidth": 8128,
"maxImageHeight": 8128,
"supportedFormats": [
"png",
"jpg"
],
"url": "https://{server}/geojsonservice/v1/services/{folder}/{service}/map",
"httpMethods": [
"GET",
"POST"
]
},
{
"name": "legend",
"maxFeaturesLimit": 0,
"url": "https://{server}/geojsonservice/v1/services/{folder}/{service}/legend",
"httpMethods": [
"GET"
]
},
{
"name": "query",
"maxFeaturesLimit": 1000,
"url": "https://{server}/geojsonservice/v1/services/{folder}/{service}/{layerId}",
"httpMethods": [
"GET",
"POST"
]
},
{
"name": "features",
"url": "https://{server}/geojsonservice/v1/services/{folder}/{service}/{layerId}",
"httpMethods": [
"POST",
"PUT",
"DELETE"
]
}
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"fullExtent": {
"minX": 10.0,
"minY": 50.0,
"maxX": 20.0,
"maxY": 60.0
},
"initialExtent": {
"minX": 10.0,
"minY": 50.0,
"maxX": 15.0,
"maxY": 55.0
},
"units": "meters",
"layers": [
{
"id": "layer1",
"name": "Layer 1",
"layerType": "FeatureLayer",
"defaultVisibility": true,
"geometryType": "Point",
"minScaleDenominator": 1000,
"maxScaleDenominator": 5000,
"styles": [
{
"name": "Default Style",
"title": "Standard"
}
],
"supportedOperations": ["query", "features.post", "features.put", "features.delete"],
"properties": [
{
"name": "property1",
"aliasname": "Property 1",
"type": "String",
"isPrimaryKey": true
}
]
}
]
}
type: Der Typ der Antwort, in diesem Fall „GetServiceCapabilitiesResponse“.
mapTitle: Der Titel der Karte, die durch den Service bereitgestellt wird.
description: Eine Beschreibung des Services.
copyright: Copyright-Informationen für die Daten.
supportedRequests: Eine Liste der unterstützten Anfragen, die der Service ermöglicht.
crs: Das verwendete Koordinatenreferenzsystem.
fullExtent: Die maximale Ausdehnung der Daten.
initialExtent: Die anfängliche Ausdehnung der Daten.
units: Die Maßeinheit der Karte (z. B. „meters“).
layers: Informationen zu den Layern, die vom Service bereitgestellt werden.
LayerInfo¶
Das LayerInfo-Objekt beschreibt die verfügbaren Layer innerhalb eines Services:
{
"id": "layer1",
"parentId": null,
"name": "Layer 1",
"layerType": "FeatureLayer",
"defaultVisibility": true,
"geometryType": "Point",
"minScaleDenominator": 1000,
"maxScaleDenominator": 5000,
"styles": [
{
"name": "Default Style",
"title": "Standard"
}
],
"supportedOperations": ["query", "features.post", "features.put", "features.delete"],
"properties": [
{
"name": "property1",
"aliasname": "Property 1",
"type": "String",
"isPrimaryKey": true
}
]
}
id: Eine eindeutige ID für den Layer.
parentId: Die ID des übergeordneten Layers, falls vorhanden.
name: Der Name des Layers.
layerType: Der Typ des Layers, z. B. „FeatureLayer“, „RasterLayer“, „GroupLayer“.
defaultVisibility: Gibt an, ob der Layer standardmäßig sichtbar ist.
geometryType: Der Geometrietyp des Layers, z. B. „Point“ oder „Polygon“.
minScaleDenominator / maxScaleDenominator: Maßstabsbeschränkungen für die Sichtbarkeit des Layers.
styles: Eine Liste von Stilen, die auf den Layer angewendet werden können.
supportedOperations: Eine Liste der unterstützten Operationen, z. B. [„query“, „features.post“, „features.put“, „features.delete“].
properties: Eine Liste der Eigenschaften des Layers, einschließlich Name, Alias und Typ.
LayerProperty¶
Das LayerProperty-Objekt beschreibt eine Eigenschaft eines Layers:
{
"name": "property1",
"aliasname": "Property 1",
"type": "String",
"isPrimaryKey": true
}
name: Der interne Name der Eigenschaft.
aliasname: Der Aliasname, der in der Benutzeroberfläche angezeigt wird.
type: Der Datentyp der Eigenschaft, z. B. „String“, „Integer“.
isPrimaryKey: Gibt an, ob diese Eigenschaft der Primärschlüssel des Layers ist.