始める無料で始める

各ジオメトリにカスタム処理を適用する

単一点に対して最寄りの国立公園を取得する方法がわかったので、これをすべての点に対して行いましょう。そのために、まず単一点を引数に取り、目的の結果を返す関数を書きます。次に、この関数を使って全ての点に適用します。

採掘サイト(mining_sites)と国立公園(national_parks)のデータセットはすでに読み込まれています。前の演習で使用した単一の採掘サイトは single_mine として定義済みです。

この演習はコースの一部です

Pythonで扱う地理空間データ

コースを見る

演習の手順

  • 前の演習で行った分析を実行する関数 closest_national_park() を作成します。単一点とすべての国立公園を受け取り、最も近い国立公園の名前を返します。
  • テストとして、この関数を単一点(single_mine)に対して呼び出し、結果を表示します。前と同じ("Virunga National park")になりますか?
  • この関数を mining_sites のすべての点に適用し、結果を 'closest_park' という列に代入します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Define a function that returns the closest national park
def closest_national_park(geom, national_parks):
    dist = ____
    idx = ____
    closest_park = ____
    return closest_park

# Call the function on single_mine
print(closest_national_park(____, ____))

# Apply the function to all mining sites
mining_sites['closest_park'] = mining_sites.geometry.____(____, ____=____)
print(mining_sites.head())
コードを編集して実行