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/03/29 20:34]
jango [WSL]
nominatim [2026/04/04 11:24] (aktuell)
admin [Search]
Zeile 1: Zeile 1:
 +Nominatim ist ein Open-Source Geocoder für [[OpenStreetMap]]-Daten (OSM). Das System kann Orts-, Straßen- und Adressangaben in Koordinaten umwandeln (Geocoding) und umgekehrt aus Koordinaten eine möglichst passende Adresse ableiten (Reverse Geocoding). Nominatim indiziert OSM Daten für Suchanfragen. Dabei werden Namen, Adressen, administrative Grenzen und weitere OSM-Merkmale verarbeitet, damit Suchbegriffe effizient in räumliche Treffer übersetzt werden können. Für Reverse Geocoding erzeugt Nominatim synthetische Adressen auf Basis der umliegenden OSM-Daten. Somit unterstützt Nominatim auch Suchanfragen nach Objekttypen, etwa nach Hotels, Pubs oder Kirchen.
 +
 +Nominatim wird sowohl als öffentliche Web-API betrieben als auch als Software zur Selbstinstallation angeboten.
 +
 Siehe [[OpenStreetMap]] Siehe [[OpenStreetMap]]
  
 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.1774809264.txt.gz · Zuletzt geändert: 2026/03/29 20:34 von jango