Benutzer-Werkzeuge

Webseiten-Werkzeuge


nominatim

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
nominatim [2026/04/04 11:15]
admin
nominatim [2026/04/04 11:24] (aktuell)
admin [Search]
Zeile 6: Zeile 6:
  
 Demo [[https://nominatim.openstreetmap.org/search?format=jsonv2&q=Stephansplatz]] Demo [[https://nominatim.openstreetmap.org/search?format=jsonv2&q=Stephansplatz]]
 +
 +=====API-Endpunkte=====
 +
 +Die Web-API von Nominatim stellt unter anderem folgende Endpunkte bereit: /search, /reverse, /lookup, /status und /details. Der Endpunkt /search dient zur textuellen Suche, /reverse zur Adressauflösung aus Koordinaten und /lookup zur Abfrage anhand von OSM-Objekt-IDs.
 +
 +====Search====
 +
 +Mit /search können freie oder strukturierte Suchanfragen gestellt werden. Nominatim unterstützt sowohl Freitext als auch strukturierte Parameter wie Straße, Stadt oder Postleitzahl. Zusätzlich können bestimmte Begriffe als sogenannte special phrases interpretiert werden, um nach Objekttypen zu suchen.
 +
 +Beispiel:
 +
 +https://nominatim.openstreetmap.org/search?q=Stephansplatz+Wien&format=jsonv2
 +
 +<code python>
 +import requests
 +
 +def search_place(query: str, limit: int = 1) -> list[dict]:
 +    url = "https://nominatim.openstreetmap.org/search"
 +    params = {
 +        "q": query,
 +        "format": "jsonv2",
 +        "limit": limit
 +    }
 +    headers = {
 +        "User-Agent": "mein-technik-wiki-beispiel/1.0 (kontakt@example.org)"
 +    }
 +
 +    response = requests.get(url, params=params, headers=headers, timeout=10)
 +    response.raise_for_status()
 +    return response.json()
 +
 +
 +results = search_place("Stephansplatz, Wien")
 +
 +for place in results:
 +    print(place["display_name"])
 +    print(place["lat"], place["lon"])
 +</code>
 +====Reverse====
 +
 +Mit /reverse wird zu einem Koordinatenpaar ein passender OSM-Ort bzw. eine Adresse gesucht.
 +
 +Beispiel:
 +
 +https://nominatim.openstreetmap.org/reverse?lat=48.20849&lon=16.37208&format=jsonv2
 +
 +<code python>
 +import requests
 +
 +def reverse_geocode(lat: float, lon: float) -> dict:
 +    url = "https://nominatim.openstreetmap.org/reverse"
 +    params = {
 +        "lat": lat,
 +        "lon": lon,
 +        "format": "jsonv2",
 +        "addressdetails": 1
 +    }
 +    headers = {
 +        "User-Agent": "mein-dokuwiki/1.0"
 +    }
 +
 +    response = requests.get(url, params=params, headers=headers, timeout=10)
 +    response.raise_for_status()
 +    return response.json()
 +
 +
 +result = reverse_geocode(48.20849, 16.37208)
 +print(result["display_name"])
 +</code>
 +====Lookup====
 +
 +Mit /lookup lassen sich Detailinformationen zu bekannten OSM-Objekten abrufen, wenn deren Objekt-ID vorliegt.
  
 =====Setup===== =====Setup=====
nominatim.1775294130.txt.gz · Zuletzt geändert: 2026/04/04 11:15 von admin