python - 使用 Geopandas 从建筑物中查找到最近学校的距离
问题描述
我想计算最近学校与特定地理区域建筑物的距离,然后对距离值进行分类(例如 0-100、100-200 等) 使用的数据源是 OpenStreetMap (OSM)。
首先,我将建筑物和学校数据存储在两个单独的地理数据框中,并尝试采用(使用 Geopandas 计算到最近要素的距离)中的解决方案。但我遇到了一些错误。
这个问题是不同的,因为两个地理数据框都包含多种几何类型,即点(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,))
推荐阅读
- vba - 如何从 Recordset ADO 中的 csv 获取特定列
- python - 在python中,为什么我不能在打印函数中使用扩展函数?
- pattern-matching - 解析统计文件 - Logstash 的多行模式(不是错误消息)
- reactjs - React -js 开发服务器无法完成加载
- java - 我无法通过控制器传输许多对象(((
- elasticsearch-query - 使弹性搜索仅返回与我的查询匹配的字段名称
- amazon-ec2 - LightGBM 不使用所有内核和 RAM
- azure - 身份体验框架自定义策略的身份验证方法策略
- regex - 如何使用正则表达式修剪行尾的现有空格?
- sql - 如何根据多个其他表向表A中插入一行数据?