开始使用免费开始使用

对每个几何体应用自定义操作

现在我们已经知道如何为单个点获取最近的国家公园了,接下来把它应用到所有点上。为此,先编写一个函数,传入单个点作为参数并返回所需结果。然后把这个函数应用到所有点。

采矿点数据集(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())
编辑并运行代码