ポイントの投影変換
前のチャプターでは、エッフェル塔の位置を扱いました。距離を計算できるように、今回も投影座標系で座標を用意しました。ここではもう一度この象徴的なランドマークに戻り、地理座標で表してみましょう。48°51′29.6″N, 2°17′40.2″E、10 進表記では緯度 48.8584、経度 2.2945 です。
Shapely のジオメトリオブジェクト自体には CRS の概念がないため、直接ほかの CRS に変換することはできません。そこで GeoPandas を使って、エッフェル塔のポイント位置を別の CRS に変換します。単一点を GeoSeries に入れ、to_crs() メソッドで変換し、再びポイントを取り出します。
GeoPandas はすでにインポートされています。
この演習はコースの一部です
Pythonで扱う地理空間データ
演習の手順
- エッフェル塔の座標で shapely の Point オブジェクトを作成し、
eiffel_towerという変数に代入します。 - エッフェル塔のみを要素に持つ GeoSeries(
s_eiffel_tower)を作成し、CRS に EPSG:4326 を指定します。 s_eiffel_towerを EPSG:2154 に変換し、結果をs_eiffel_tower_projectedとして保存します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)