Zum Inhalt springen

Fehlermeldungen und Lösungen

Anders als der Map Server antwortet die Routing Engine mit strukturiertem JSON:

{
"error_code": 125,
"error": "No costing method found: 'gibtesnicht'",
"status_code": 400,
"status": "Bad Request"
}

error_code ist Valhallas eigene Nummer und genauer als der HTTP-Status — werten Sie ihn aus, nicht den 400er.

error_code Meldung Ursache und Abhilfe
110 Insufficiently specified required parameter '…' Ein Pflichtfeld fehlt — bei /route fast immer locations. Der häufigste Code überhaupt, weil ihn jede unvollständige Anfrage auslöst
125 No costing method found: '…' Unbekannter Wert in costing. Gültig sind u. a. auto, bicycle, pedestrian, truck, bus, motorcycle
442 No path could be found for input Bei /trace_route: Punkte zu weit auseinander, abseits des Netzes, oder costing passt nicht zum Weg. Siehe Map Matching

Auch eine völlig leere Anfrage wird erklärt, statt nur abgewiesen zu werden. GET /route ohne Parameter und POST /route mit {} liefern beide denselben Körper (125 B):

{"error_code": 110, "error": "Insufficiently specified required parameter 'locations'",
"status_code": 400, "status": "Bad Request"}

Lesen Sie ihn also aus, statt bei einem 400er zu raten — er nennt das fehlende Feld beim Namen.

Alle Dienste verlangen einen Token. Fehlt er oder ist er ungültig, wird die Anfrage mit 401 oder 403 abgelehnt. Siehe Zugriff auf die Dienste.

  • 429: Eine Begrenzung der Anfragerate ist uns nicht bekannt und wurde nicht gemessen. Das ist keine Zusage — wer hohe Lasten oder große Matrizen plant, spricht uns vorher an.

Diese Punkte stehen hier ausdrücklich als offen, nicht als „gibt es nicht”.

Kein Fehlercode, aber der häufigste Ärger — und meist eine dieser drei Ursachen:

  1. Ein Punkt ist woanders eingerastet, als Sie denken. /sources_to_targets gibt die eingerasteten Koordinaten zurück (begin_lat, end_lat); dort sehen Sie, wohin ein Punkt gerutscht ist.
  2. Die Polylinie wurde mit Präzision 5 dekodiert. Dann liegt die Route um den Faktor 10 daneben — ohne Fehlermeldung. Valhalla kodiert mit Präzision 6.
  3. Der Kachelstand ist älter als die Straße. /status nennt tileset_last_modified; was danach gebaut wurde, kennt der Dienst noch nicht.