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
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_towerna układ EPSG:2154 i zapisz wynik jakos_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)