使用 Geopandas 查找建筑物到最近学校的距离

Finding distance to nearest school from buildings with Geopandas

我想计算最近的学校到特定地理区域的建筑物的距离,然后对距离值进行分类(例如0-100、100-200等)使用的数据源是OpenStreetMap( OSM).

首先,我将建筑物和学校数据存储在两个单独的地理数据框中,并尝试采用 () 的解决方案。但是我遇到了一些错误。

这个问题是不同的,因为这两个地理数据框都包含多种类型的几何形状,即 (OSM 中的节点)和 多边形 (OSM 中的方法)。

假设您有 buiding_df 和 school_df 分别是建筑物和学校的两个数据框。现在您可以使用以下代码计算最近学校与特定区域建筑物的距离,

def nearest_school(building_df, school_df):
    return school_df.distance(building_df).min()

buildings_utm['nearest_school_distance'] = building_df.geometry.apply(nearest_school, args=(school_df,))