Get Geo Route
Zuletzt geändert: 01.08.2026 21:21

Übersicht

Get-GeoRoute #

ÜBERSICHT #

Berechnet eine Route (Start, Zwischenziele, Ziel) über die Provider-Kette.

SYNTAX #

Get-GeoRoute [-Point] <object[]> [[-Profile] <string>] [[-Alternatives] <int>] [[-WeightT]
    <double>] [[-HeightM] <double>] [[-WidthM] <double>] [[-Config] <hashtable>]
    [<CommonParameters>]

BESCHREIBUNG #

Der Eulanda-Geo-Kern: EIN stabiler Vertrag, dahinter austauschbare Routing-Engines. Die Kette kommt aus Resolve-GeoProvider (lokaler GraphHopper vor OpenRouteService vor OSRM-Demo, je nach Konfiguration); fällt ein Glied aus (Dienst weg, Tageslimit), übernimmt das nächste. Erst wenn ALLE scheitern, fliegt die letzte Ausnahme.

Rückgabe normalisiert und eingefroren (Erweiterungen nur additiv): @{ provider; profileRequested; profileUsed; cached = $false; routes } mit routes[0] als Hauptroute; je Route distanceM, durationS, bbox ([minLon, minLat, maxLon, maxLat], GeoJSON-Konvention - Leaflet will lat/lon, die Drehung macht der Client) und geometry als GeoJSON-LineString.

profileUsed kann vom Wunsch abweichen (OSRM-Demo kann kein truck) - Aufrufer müssen das anzeigen, nie stillschweigend schlucken. cached ist hier immer $false; den Cache führt die REST-Fassade.

PARAMETER #

-Point #

Type: object[]

Mindestens 2 Punkte in Reihenfolge (Start, Zwischenziele, Ziel). Jeder Punkt entweder ’lat,lon’ (WGS84, Punkt als Dezimaltrenner) oder ein Hashtable @{ Lat; Lon }.

-Profile #

Type: string
Default: 'car'

car (Default) oder truck.

-Alternatives #

Type: int
Default: 0

0 bis 2 Alternativrouten. Nur bei genau 2 Punkten - mit Zwischenzielen liefern die Engines keine, der Wert wird dann still auf 0 gesetzt.

-WeightT #

Type: double
Default: 0

Optional: zulässiges Gesamtgewicht in Tonnen (nur Provider, die das können - derzeit OpenRouteService mit Profil truck).

-HeightM #

Type: double
Default: 0

Optional: Fahrzeughöhe in Metern.

-WidthM #

Type: double
Default: 0

Optional: Fahrzeugbreite in Metern.

-Config #

Type: hashtable
Default: @{}

Provider-Konfiguration (siehe Resolve-GeoProvider). Die Funktion liest KEINE Registry - wo die Werte liegen, entscheidet der Aufrufer.

BEISPIELE #

Get-GeoRoute -Point '50.11,8.68', '49.99,8.24' -Config @{ OrsApiKey = $key }
Get-GeoRoute -Point @{ Lat = 50.11; Lon = 8.68 }, @{ Lat = 49.99; Lon = 8.24 } `
  -Profile truck -Alternatives 2 -Config @{ GraphHopperUrl = 'http://localhost:8989' }