Ich habe bereits verschiedene Möglichkeiten zur Geokodierung von Geodaten in Form von Stadt- oder Ortsnamen in R unter Verwendung von APIs wie der von Open Street Map bereitgestellten demonstriert.
In diesem Beitrag werde ich die Möglichkeit der Geokodierung von Standortnamen in Python mithilfe von Geopy demonstrieren. Geopy ist ein Python-Modul das die Geokodierung von Zeichenfolgen ermöglicht indem Zugriff auf verschiedene Geokodierungsdienste ermöglicht wird.
Unten importiere ich Geopy (unterstützt den Befehl pip install) und verwende es zum Geokodieren einer Liste von Städtenamen mit dem Nominatim-Dienst. Dies ist ein Dienst der auf Open Street Map API basiert.
# importiere Geopy import geopy # referenz für den Nominatim-Dienst erhalten service = geopy.Nominatim(user_agent = "myGeocoder") # Nomiatim-Diest für Geokodierungsprozess anwenden service.geocode("Berlin, Germany")
Location(Berlin, Deutschland, (52.5170365, 13.3888599, 0.0))
Die Funktion geocode() gibt einen speziellen Datentyp vom Typ location zurück. Ein Standortobjekt hat verschiedene Attribute:
# Erstellen eines weiteren Standortobjekts durch Geokodierung des Berliner Städtenamens in Deutschland mithilfe des Nominatim-Dienstes locationObj = service.geocode("Berlin, Germany") # latitude print(locationObj.latitude) # longitude print(locationObj.longitude)
52.5170365 13.3888599
Unter Verwendung dieser Längen- und Breitengrad-Coodinate könnte man nun z.B. Platzieren Sie eine Markierung auf einer Karte, indem Sie das Folium-Modul in Python in Kombination mit Geopy verwenden:
# importiere folium import folium # erstelle eine Karte mit Zentrum in Berlin mapObj = folium.Map(location = [locationObj.latitude,locationObj.longitude], zoom_start = 5) # erstelle eine Markierung für Berlin markerObj = folium.Marker(location = [locationObj.latitude,locationObj.longitude]) # füge Markierung der Karte hinzu markerObj.add_to(mapObj) # zeige Karte mit Markierung an mapObj
Wirtschaftsingenieur mit Interesse an Optimierung, Simulation und mathematischer Modellierung in R, SQL, VBA und Python
Leave a Reply