Einen Punkt projizieren
Im vorherigen Kapitel haben wir mit dem Standort des Eiffelturms gearbeitet. Wieder geben wir dir die Koordinaten in einem projizierten Koordinatensystem, damit du z. B. Entfernungen berechnen kannst. Kehren wir zu diesem Wahrzeichen zurück und geben seinen Standort in geografischen Koordinaten an: 48°51′29.6″N, 2°17′40.2″E. Oder als Dezimalzahlen: Breite 48,8584 und Länge 2,2945.
Shapely-Geometrieobjekte kennen kein CRS und können daher nicht direkt in ein anderes CRS umgerechnet werden. Deshalb verwenden wir GeoPandas, um den Punkt des Eiffelturms in ein alternatives CRS zu transformieren. Wir packen den einzelnen Punkt in eine GeoSeries, nutzen die Methode to_crs() und extrahieren den Punkt anschließend wieder.
GeoPandas ist bereits importiert.
Diese Übung ist Teil des Kurses
Arbeiten mit Geodaten in Python
Anleitung zur Übung
- Erstelle ein Shapely-Point-Objekt mit den Koordinaten des Eiffelturms und weise es der Variablen
eiffel_towerzu. - Erstelle eine GeoSeries (genannt
s_eiffel_tower) mit dem Eiffelturm als einzigem Element und gib das CRS als EPSG:4326 an. - Wandle
s_eiffel_towerin EPSG:2154 um und nenne das Ergebniss_eiffel_tower_projected
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Construct a Point object for the Eiffel Tower
from shapely.geometry import Point
eiffel_tower = ____
# Put the point in a GeoSeries with the correct CRS
s_eiffel_tower = geopandas.GeoSeries([____], crs={'init': '____'})
# Convert to other CRS
s_eiffel_tower_projected = s_eiffel_tower.____
# Print the projected point
print(s_eiffel_tower_projected)