Resolve-GeoProvider #
ÜBERSICHT #
Wertet die Provider-Kette der Geo-Konfiguration aus (Routing/Geocoding).
SYNTAX #
Resolve-GeoProvider [-Task] <string> [[-Config] <hashtable>] [<CommonParameters>]
BESCHREIBUNG #
Liefert die Kandidaten in Versuchsreihenfolge. Die Kern-Funktionen probieren sie durch, bis einer antwortet - so wird aus „lokale Engine weg" oder „Tageslimit erschöpft" kein Fehler, solange die Kette noch ein Glied hat.
Routing (-Task routing):
- Konfig Provider = graphhopper/ors/osrm erzwingt genau diesen.
- auto (Default): GraphHopper (wenn GraphHopperUrl gesetzt UND
der Health-Check antwortet; Ergebnis wird ca. 60 s gemerkt, damit
nicht jede Route erst den toten Dienst antickt), dann ORS (wenn
OrsApiKey gesetzt), dann OSRM-Demo (nur wenn AllowOsrmDemo -
der Demo-Server ist nicht für Produktionslast gedacht).
Geocoding (-Task geocode):
- Konfig GeocodeProvider = nominatim/photon erzwingt genau diesen.
- Sonst Nominatim, dann Photon als Ausweich.
Die Funktion liest KEINE Registry - die Konfiguration kommt als Hashtable vom Aufrufer (XRest: SQL-Registry, XTrack: credentials- Muster). Leere Kette = leeres Array; den Fehler formuliert der Aufrufer.
PARAMETER #
-Task #
Type: string
‘routing’ oder ‘geocode’.
-Config #
Type: hashtable
Default: @{}
Provider-Konfiguration (Provider, GraphHopperUrl, OrsApiKey, AllowOsrmDemo, GeocodeProvider, …). Fehlende Schlüssel sind erlaubt.