GetRouteCostMatrix

Beschreibung

Der GetRouteCostMatrix-Dienst berechnet die Fahrtzeit und die Entfernungen zwischen einem Array von Start- und Endpositionen und gibt die schnellste bzw. die kürzeste Route zurück. Das Ergebnis bestimmt die Gesamtzeit sowie die Entfernung der einzelnen Routen (die Kosten für die Route). Wenn Sie beispielsweise vier Startpunkte und vier Zielpunkte eingeben, werden insgesamt 16 Routen berechnet.

Anmerkung: Die Antwort des REST-Dienstes erscheint im JSON-Format und die zurückgegebene Geometrie im GeoJSON-Format. Wenn eine Anforderung ungültige Abfrageparameter in der GET URL oder eine ungültige Nutzlast für POST enthält, wird eine gesammelte Fehlerantwort in einem JSON-Array zurückgegeben. Der Knoten value in der Antwort-JSON ist veraltet. Bei der Fehlerüberprüfung sollte nur der Knoten errors verwendet werden.

URL-Format von HTTP-GET-Anforderungen

Für HTTP-GET-Anforderungen wird das folgende Format verwendet. HTTP GET wird für einfache Kostenberechnungen verwendet, bei denen keine zusätzliche JSON-Nutzlast erforderlich ist.


HTTP GET /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
			

Dabei steht dbsource für den Namen der Datenbank, die die für die Route zu verwendenden Daten enthält. Verwenden Sie den Datenbanknamen, der im Routing-Datenbankressourcentool des Enterprise Routing-Moduls angegeben ist.

URL-Format von HTTP-POST-Anforderungen

Für HTTP-POST-Anforderungen wird das folgende Format verwendet:


HTTP POST:  /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
POST BODY: Content-Type:application/json {Route Data}
			

Route Data stellt den POST-JSON-Text (Content-Type: application/json) für die zusätzlichen Routeninformationen dar, die bei der Berechnung verwendet werden sollen, wenn die Liste der eingegebenen Punkte die Grenzen des URL-Puffers des Aufrufers überschreitet und wenn vorübergehende Aktualisierungen oder die Priorität für Straßentypen eingeschlossen werden. Weitere Informationen und Beispiele für diese Optionen finden Sie unter HTTP-POST-Optionen für GetRouteCostMatrix.

Abfrageparameter

Bei diesem Vorgang werden die folgenden Abfrageparameter abgerufen.

Parameter Typ Erforderlich Beschreibung
startPoints Zeichenfolge Ja Die Startpositionen der Route in folgendem Format: long,lat,long,lat,...,coordSys. Beispiel: -74.2,40.8,-73,42,epsg:4326
endPoints Zeichenfolge Ja Die Endpositionen der Route in folgendem Format: long,lat,long,lat,...,coordSys. Beispiel: -74.2,40.8,-73,42,epsg:4326
destinationSrs Zeichenfolge Nein Das Koordinatensystem für die Rückgabe der Route und der resultierenden Geometry. Standardmäßig wird das Koordinatensystem der Daten verwendet.
optimizeBy Zeichenfolge Nein Der für die Optimierung zu verwendende Optimierungstyp. Gültige Werte sind time oder distance. Der Standardwert ist „time“.
returnDistance Boolean Nein Die Wegbeschreibungen beinhalten die zurückgelegte Strecke. Der Standardwert ist „true“. Die Parameter „returnDistance“ und „returnTime“ können in derselben Anforderung nicht beide den Wert „false“ aufweisen.
distanceUnit Zeichenfolge Nein Die Einheiten für die zurückgelegte Strecke. Standardwert ist m (Meter). Verfügbare Werte sind: m (Meter), km (Kilometer), yd (Yard), ft (Fuß), mi (Meile).
returnTime Boolean Nein Die Wegbeschreibungen beinhalten die Zeit, die benötigt wird, um einer Anweisung zu folgen. Der Standardwert ist „true“. Die Parameter „returnDistance“ und „returnTime“ können in derselben Anforderung nicht beide den Wert „false“ aufweisen.
timeUnit Zeichenfolge Nein Die Einheiten für die Rücklaufzeit. Standardmäßig ist min (Minute) ausgewählt. Verfügbare Werte sind: min (Minute), msec (Millisekunde), s (Sekunde), h (Stunde).
majorRoads Boolean Nein Gibt an, ob alle Straßen oder nur Hauptverkehrsstraßen in die Berechnung eingeschlossen werden sollen. Wenn Sie entscheiden, dass nur Hauptverkehrsstraßen eingeschlossen werden sollen, wird die Leistung verbessert, aber die Genauigkeit verringert. Der Standardwert ist „false“.
returnOptimalRoutesOnly Boolean Nein Gibt an, ob für jede Kombination aus Startpunkt und Endpunkt nur die optimierte Route zurückgegeben werden soll. Der Standardwert ist „true“. Abhängig von dem Parameter optimizeBy ist die optimierte Route entweder die schnellste Route oder sie weist die kürzeste Entfernung auf.
historicTrafficTimeBucket Zeichenfolge Nein

Gibt an, ob bei der Berechnung der Fahrtstrecke die Fahrtgeschwindigkeit der letzten Fahrten verwendet wurde. Diese Fahrtgeschwindigkeitswerte basieren auf unterschiedlichen Tageszeitintervallen. Die Daten müssen über den Verlauf der Fahrtgeschwindigkeitswerte verfügen, um diese Funktion nutzen zu können. Die Daten für jedes Land/jede Region haben dieselben Intervalldefinitionen, bei denen die Geschwindigkeitswerte für diese Schichtwerte variieren können. Die Optionen sind:

None
Der Standardwert. Es werden keine Fahrtdaten im Verlauf bei der Berechnung verwendet. Stattdessen wird ein durchschnittlicher Geschwindigkeitswert verwendet.
AMPeak
Berechnung der Routen mit den vormittäglichen Geschwindigkeitsspitzenwerten. AMPeak-Zeitintervall: 07:00 bis 10:00 Uhr.
PMPeak
Berechnung der Routen mit den nachmittäglichen Geschwindigkeitsspitzenwerten. PMPeak-Zeitintervall: 16:00 bis 19:00 Uhr.
OffPeak
Berechnung der Routen mit den Geschwindigkeitswerten außerhalb der Stoßzeiten (tagsüber). OffPeak-Zeitintervall: 10:00 bis 16:00 Uhr.
Night
Berechnung der Routen mit den nächtlichen Geschwindigkeitswerten. Nachts-Zeitintervall: 22:00 bis 04:00 Uhr.
vermeiden Zeichenfolge Nein Gibt eine durch Kommas getrennte Liste von Straßentypen an, die bei der Routenberechnung vermieden werden sollen. Dies ist ein String-Parameter. Wenn ein Straßentyp als Wert des Parameters bereitgestellt wird, wird dieser Straßentyp bei der Routenberechnung aus der Route ausgeschlossen. Wenn zum Beispiel tollRoad als Parameterwert angegeben wird, enthält die berechnete Route eine Route ohne Mautstraßen.

Beispiele

Routen-Kostenmatrix mit zwei Start- und zwei Endpunkten.


http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=routeCostMatrix&startPoints=-73.56565,40.5545,-73.46565,40.4545,epsg:4326&endPoints=-73.34343,40.667,-73.14343,40.267,epsg:4326&returnOptimalRoutesOnly=true&optimizeBy=distance&distanceUnit=km&timeUnit=min&majorRoads=true&destinationSrs=epsg:4322&returnTime=false			
			

Antwort


				
					{
					"matrix": [{
					"distance": 35.258,
					"distanceUnit": "km",
					"endPoint": {
					"type": "Point",
					"coordinates": [-73.34345711862802, 40.66688488742393],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					},
					"startPoint": {
					"type": "Point",
					"coordinates": [-73.56567672202618, 40.554384822358614],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					}
					}, {
					"distance": 41.761,
					"distanceUnit": "km",
					"endPoint": {
					"type": "Point",
					"coordinates": [-73.34345711862802, 40.66688488742393],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					},
					"startPoint": {
					"type": "Point",
					"coordinates": [-73.46567684021008, 40.454384834155185],
					"crs": {
					"type": "name",
					"properties": {
					"name": "epsg:4322"
					}
					}
					}
					}]
					}