Zacznij terazZacznij za darmo

Rzutowanie punktu

W poprzednim rozdziale pracowaliśmy z lokalizacją Wieży Eiffla. Jej współrzędne były podane w rzutowanym układzie współrzędnych, co umożliwiało m.in. obliczanie odległości. Wróćmy teraz do tej słynnej budowli i wyraźmy jej położenie we współrzędnych geograficznych: 48°51′29,6″N, 2°17′40,2″E. W postaci dziesiętnej: szerokość geograficzna 48,8584 i długość geograficzna 2,2945.

Obiekty geometryczne Shapely nie przechowują informacji o układzie CRS, dlatego nie można ich bezpośrednio przeliczać na inny układ. Użyjemy GeoPandas, aby przekształcić punkt z lokalizacją Wieży Eiffla do innego układu CRS. Umieścimy pojedynczy punkt w GeoSeries, wywołamy metodę to_crs() i wyodrębnimy punkt z powrotem.

Biblioteka GeoPandas jest już zaimportowana.

To ćwiczenie jest częścią kursu

Praca z danymi geoprzestrzennymi w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt punktowy Shapely ze współrzędnymi Wieży Eiffla i przypisz go do zmiennej eiffel_tower.
  • Utwórz GeoSeries o nazwie s_eiffel_tower, zawierający Wieżę Eiffla jako jedyny element, i ustaw układ CRS na EPSG:4326.
  • Przelicz s_eiffel_tower na układ EPSG:2154 i zapisz wynik jako s_eiffel_tower_projected.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod