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.
Seit dem 21.08.2026 gilt die Regel aus dem EULANDA-Geodienst (CN):
1. Ist ein **Geo-Server** eingetragen (`GeoServiceUrl` - der
EULANDA-Geodienst geo.eulanda.eu mit Kundenschlüssel oder ein
baugleicher Server im Netz des Kunden), ist er die EINZIGE Stufe
dieser Kette: Geocoding über seinen Photon, Routing über seinen
GraphHopper, beides unter dem Pfad des Servers (`/photon`,
`/graphhopper`) und mit dem Schlüssel als Kopfzeile. Ohne Bremse,
der Dienst gehört uns oder dem Kunden.
2. Ohne Geo-Server kommen die **öffentlichen** Dienste: Geocoding
Nominatim, dann Photon von Komoot; Routing OpenRouteService (wenn
`OrsApiKey`), dann OSRM-Demo (nur wenn `AllowOsrmDemo`). Dort gilt
die Bremse des Aufrufers (EulandaXrest drosselt und zählt).
Einen Rückfall vom Geo-Server auf die öffentlichen Dienste gibt es nicht, weder in dieser Kette noch beim Aufrufer (CN 27.08.2026): der eingestellte Dienst antwortet oder meldet seine Störung. Die öffentlichen Dienste sind eine eigene Betriebsart, die das Haus in der Kachel „Karte" ausdrücklich wählt. Deshalb liefert die Kette je Stufe nur ihre eigenen Glieder - wer den Geo-Server weglässt, bekommt die öffentliche Kette.
Lokale Windows-Engines (die früheren Schlüssel GraphHopperUrl, PhotonUrl, Provider, GeocodeProvider) werden NICHT mehr ausgewertet - der Weg ist stillgelegt, der Code der Adapter bleibt, weil der Geo-Server dieselben Engines fährt. NominatimUrl (eigener Nominatim) bleibt als Ersatz für den öffentlichen erhalten.
Die Funktion liest KEINE Registry - die Konfiguration kommt als Hashtable vom Aufrufer. Leere Kette = leeres Array; den Fehler formuliert der Aufrufer.
PARAMETER #
-Task #
Type: string
‘routing’ oder ‘geocode’.
-Config #
Type: hashtable
Default: @{}
Provider-Konfiguration: GeoServiceUrl, GeoServiceKey, OrsApiKey, AllowOsrmDemo, NominatimUrl. Fehlende Schlüssel sind erlaubt.
BEISPIELE #
Resolve-GeoProvider -Task geocode -Config @{ GeoServiceUrl = 'https://geo.eulanda.eu'; GeoServiceKey = $key }
# -> eulanda
Resolve-GeoProvider -Task routing -Config @{ AllowOsrmDemo = $true }
# -> osrm