Beschreibung
Der Dienst „GetCapabilities“ ermöglicht es dem Benutzer, die Metadaten über die verwendete Routing-Engine abzurufen. Der Benutzer kann die Metadaten nutzen, um einen Dienst und seine Funktionen zu entdecken und so die Verwendung dieser Routing-Dienste optimieren.
Dieser Dienst ist nur als REST-Dienst verfügbar.
URL-Format von HTTP-GET-Anforderungen
Für HTTP-GET-Anforderungen wird das folgende Format verwendet.
http://<server>:<port>/rest/Spatial/erm/v1/capabilities.json
Abfrageparameter
Die Tabelle beschreibt die Abfrageparameter für „GetCapabilities“.
Parameter | Erforderlich | Beschreibung |
---|---|---|
acceptVersions | Optional | Gibt einen Platzhalter an (nicht funktionsfähig). |
sections | Optional Wird dieser Parameter ausgelassen, werden Informationen über alle Abschnitte zurückgegeben. |
Gibt eine durch Komma getrennte, unsortierte Liste von null oder mehr Abschnittsnamen, die im Dienstmetadatendokument zurückgegeben werden. Bei Abschnittswerten muss die Groß-/Kleinschreibung beachtet werden. Akzeptierte Abschnittswerte sind:
|
Antwort
Die Antwort entspricht „OGC GetCapabilities“. Sie ist im JSON-Format angegeben und hat diese Abschnitte:
- serviceIdentification
- serviceProvider
- operationsMetadata
- databases
serviceIdentification
Dieser Abschnitt enthält grundlegenden Metadaten über diesen bestimmten Server. Der Inhalt sieht wie folgt aus:
"serviceIdentification": { "title": "PBS Routing Service", "abstract": "Routing service maintained by PBS", "keywords": { "keyword": [ ] }, "serviceType": "Routing", "serviceTypeVersion": "v1", "fees": "none", "accessConstraints": "none" }
Diese Informationen sind identisch mit den in der Konfigurationsdatei „getCapabilities.json“ verfügbaren Informationen.
Diese Datei ist verfügbar unter SpectrumDirectory\server\modules\routing. Der Serverneustart ist erforderlich, damit alle Änderungen wirksam werden. Der Administrator kann in den entsprechenden Einträgen der JSON-Datei zulassen, welche Informationen der Benutzer anzeigen, ändern oder löschen darf. Alle Felder in der JSON-Datei sind optional.
serviceProvider
Dieser Abschnitt enthält Metadaten über die Organisation, die diesen Server betreibt. Der Inhalt sieht wie folgt aus:
"serviceProvider": { "providerName": "Routing Service Provider", "providerSite": { "href": "http://www.yourcompany.com/", "type": "simple" }, "serviceContact": { "contactInfo": { "address": { "administrativeArea": "Province", "city": "City", "country": "Country", "deliveryPoint": "Mail Delivery Location", "electronicMailaddress":"mailto://support@yourcompany.com", "postalCode": "PostCode" }, "contactInstructions": "Contact Instructions", "hoursOfservice": "24 Hours", "phone": { "facsimile": "1.800.000.0000", "voice": "1.800.000.0000" } }, "individualName": "Contact Person", "positionName": "Contact Person's Title", "role": "Contact Person's Role" } }
Dieser wird auch mithilfe der oben beschriebenen Konfigurationsdatei getCapabilities.json konfiguriert.
operationsMetadata
Dieser Abschnitt enthält Metadaten über die von diesem Server implementierten Optionen, einschließlich die URLs für Vorgangsanforderungen. Diese feststehenden Vorgänge oder Dienste sind in diesem Abschnitt aufgeführt:
- GetRoute: Point-to-Point-Dienst
- GetRouteCostMatrix: Matrix des Punktverarbeitungsdienstes
- GetTravelBoundary: generiert eine Fahrt- bzw. Gehzeit oder einen Entfernungsrahmen.
- DescribeDatasets: enthält Informationen über die konfigurierten Datasets
- DescribeDatabases: enthält Informationen über alle konfigurierten Datenbanken.
- GetSegmentDataForPoint: gibt die Segmentinformationen für einen Punkt zurück.
- GetSegmentDataForSegment: gibt Segmentinformationen für eine Segment-ID zurück.
- ListPersistentUpdates: listet alle Persistent Updates auf, die auf dem Server vorhanden sind.
- DeletePersistentUpdates: löscht alle Persistent Updates, die auf dem Server vorhanden sind.
- SetPersistentUpdatesAtPoint: speichert das Persistent Update für den angegebenen Punkt auf dem Server.
- SetPersistentUpdatesForSegment: speichert das Persistent Update für die angegebene Segment-ID auf dem Server.
- SetPersistentUpdatesForRoadType: speichert das Persistent Update für den angegebenen Straßentyp auf dem Server.
Der Inhalt sieht wie folgt aus:
{"operationsMetadata": [{ "name": "GetRoute", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route&version=2", "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route&version=2" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "GetRouteCostMatrix", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=routeCostMatrix&version=2", "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=routeCostMatrix&version=2" } },"parameter": { "name": "OutputFormat", "value": "text/json"} }, { "name": "GetTravelBoundary", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=travelBoundary&version=2", "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=travelBoundary&version=2" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "DescribeDatasets", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/v1/datasets.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "DescribeDatabases", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/v1/databases.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "GetSegmentDataForPoint", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/segments.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "GetSegmentDataForSegment", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/segments/<segmentID>.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "ListPersistentUpdates", "DCP": { "HTTP": { "GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "DeletePersistentUpdates", "DCP": { "HTTP": { "DELETE": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "SetPersistentUpdatesAtPoint", "DCP": { "HTTP": { "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates.jason" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "SetPersistentUpdatesForSegment", "DCP": { "HTTP": { "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates/segments/<segmentID>.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } }, { "name": "SetPersistentUpdatesForRoadType", "DCP": { "HTTP": { "POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates/roadTypes/<roadtype>.json" } }, "parameter": { "name": "OutputFormat", "value": "text/json" } } ]}
databases
Dieser Abschnitt enthält die Liste von Namen der Datenbanken, die im Server konfiguriert sind.
Beispiel:
{ "databases": [ "US_NE", "US" ]}
Wenn keine Datenbank auf dem Server konfiguriert ist, wird dies zurückgegeben:
{ "databases":[ ] }