GetCapabilities

Beschreibung

Mit dem „GetCapabilites“-Dienst können Benutzer Metadaten über die genutzte Routenführungs-Engine abrufen. Anhand dieser Metadaten können Benutzer einen Dienst und seine Funktionen entdecken und so die Verwendung dieser Routenführungsdienste optimieren.

Dieser Dienst ist nur als REST-Dienst verfügbar.

Anforderungs-URL
http://<server>:<port>/rest/Spatial/erm/v1/capabilities.json
Abfrageparameter
Parameter Erforderlich Beschreibung
acceptVersions Optional Platzhalter (nicht funktional)
sections Optional

Wird dieser Parameter ausgelassen, werden Informationen über alle Abschnitte zurückgegeben.

Ungeordnete, durch Komma getrennte Liste von null oder mehr Abschnittsnamen, die im Dienstmetadatendokument zurückgegeben werden. Bei Abschnittswerten muss die Groß-/Kleinschreibung beachtet werden. Zulässige Abschnittswerte sind „ServiceIdentification“, „ServiceProvider“, „operationsMetadata“ und „databases“.

Antwort

Die Antwort entspricht den 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 folgendermaßen 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 befindet sich in <SpectrumFolder>\server\modules\routing. Der Server muss neu gestartet werden, damit Änderungen an der Datei wirksam werden. Der Administrator bestimmt, welche Informationen der Benutzer erhalten soll und kann entsprechende Einträge in der JSON-Datei ändern oder löschen. Alle Felder in der JSON-Datei sind optional.

serviceProvider

Dieser Abschnitt enthält Metadaten über die Organisation, die diesen Server betreibt. Der Inhalt sieht folgendermaßen 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
  • DescribeDatasets: enthält Informationen über die konfigurierten Datasets
  • DescribeDatabases: enthält Informationen über alle konfigurierten Datenbanken.

Der Inhalt sieht folgendermaßen aus:

{"operationsMetadata": [{
		"name": "GetRoute",
		"DCP": {
"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	}, {
		"name": "GetRouteCostMatrix",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=routeCostMatrix",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>json?q=routeCostMatrix"
			}
		},"parameter": {
			"name": "OutputFormat",
			"value": "text/json"}},{"name": "GetTravelBoundary","DCP": {
"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>json?q=travelBoundary",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=travelBoundary"
			}
		},
		"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"
		}
	}]
}

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":[
]
}