Adresse anhand einer Koordinate ermitteln

Im Umfeld von OpenStreetMap existieren eine Reihe von Diensten und APIs. Einer dieser Dienste ist Nominatim. Dabei handelt es sich um einen Geocoding-Dienst auf Basis der OpenStreetMap-Daten. Mithilfe der API kann anhand einer Koordinate in Form von Latitude und Longitude, eine Adresse ermittelt werden. Ein Beispielaufruf könnte wie folgt aussehen:

GET https://nominatim.openstreetmap.org/reverse?lat=53.49567958129127&lon=13.302898406982424&format=json

Gewöhnungsbedürftig an diesem Aufruf ist der Parameter format, über welchen das Format des Response definiert wird. Im Sinne einer sinnvollen REST-API, hätte dies besser über den Header-Parameter Accept gelöst werden sollen. Als Ergebnis erhält der Response die ermittelte Adresse:

{
    "place_id": 239463758,
    "licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
    "osm_type": "way",
    "osm_id": 626862936,
    "lat": "53.4957878878448",
    "lon": "13.3026220240811",
    "display_name": "Weinbergsweg, Burg Stargard, Stargarder Land, Mecklenburgische Seenplatte, Mecklenburg-Vorpommern, 17094, Deutschland",
    "address": {
        "road": "Weinbergsweg",
        "town": "Burg Stargard",
        "county": "Stargarder Land",
        "state": "Mecklenburg-Vorpommern",
        "postcode": "17094",
        "country": "Deutschland",
        "country_code": "de"
    },
    "boundingbox": [
        "53.4949976",
        "53.4960744",
        "13.3023076",
        "13.3027343"
    ]
}

Neben der Geocoding-Funktionalität enthält der Dienst eine Reihe weiterer Funktionen, welche ihn zu einer Art Suchmaschine für OpenStreetMap-Daten machen. Die offizielle Projektseite des Dienstes ist unter nominatim.org zu finden. Der Quelltext des Dienstes ist auf GitHub zu finden. Das Projekt ist unter der GPL2 lizenziert und damit freie Software.


Dir gefällt dieser Beitrag und du möchtest helfen? Werde Mitglied und unterstütze mich.

2 Kommentare » Schreibe einen Kommentar

  1. Vielleicht noch kurz als Ergänzung: Genau genommen machst du da ein reverse-Geocoding. Denn ein geocoder ermittelt normalerweise zu einer Adresse / Namen eines POI / … eine Vorschlagsliste von Koordinaten. Nominatim bietet dies Feature, genau wie einige andere Kandidaten: https://wiki.openstreetmap.org/wiki/Search_engines
    Bitte beachte in jedem Fall, dass es sich um gespendete Ressourcen handelt, die möglichst sparsam eingesetzt werden sollten: https://operations.osmfoundation.org/policies/nominatim/
    Sprich eine ganze Liste mit Adressen völlig ungebremst gegen die Haupt-Instanz zu schicken, wäre nicht sehr nett ;-)

  2. Pingback: Geocoding in Verbindung mit einer Leaflet-App › seeseekey.net

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.