python - Shapely 点对象和 Geopandas 数据框产生空输出
问题描述
我有巴黎所有地区的 Geopandas df 'districts' 和埃菲尔铁塔的 shapley 点对象 'eiffel_tower'。当我执行
mask=districts.contains(eiffel_tower)
districts[mask]
谢谢。我试过 Districts.geometry.contains(eiffel_tower); 但没有运气。'eiffel_tower' 和地区如下:
from shapely.geometry import Point
eiffel_tower = Point(255422.6, 6250868.9)
districts=geopandas.read_file('Paris/paris_districts_utm.geojson')
Districts.head(2) 显示:id District_name 人口几何结构 0 1 St-Germain-l'Auxerrois 1672 POLYGON ((451922.133 5411438.484,... 1 2 Halles 8984 POLYGON ((452278.419 5412160.893,...
我得到一个空输出。有什么问题?
TIA 雪莉
解决方案
您对埃菲尔铁塔的地理位置似乎与地区不匹配。第一个值 (255422) 比其中一个 dirstricts (451922, ...) 小得多。
为了确定这一点,执行district.geometry.bounds
,这将返回minx
、和,然后您可以手动检查miny
,您可能会看到埃菲尔铁塔的位置不在此区域内。maxx
maxy
猜测:
我的第一个想法是,你有一个错字eiffel_tower = Point(255422.6, 6250868.9)
,它应该是eiffel_tower = Point(455422.6, 6250868.9)
。
推荐阅读
- swift - 获取 SCNNode 位置和旋转
- php - 如何计算刀片模板中的平均值?
- r - R gmap函数中的错误:文档为空
- php - 为什么它显示错误而不是显示自定义消息?
- android - angular 6, 科尔多瓦, 安卓, 社交 vk
- javascript - 无法为具有可变脚本地址的 chrome newtab 扩展加载脚本“Content-Security-Policy”
- credit-card - POS进入模式5
- sql-server - 从字符串中选择特定字母
- javascript - 在具有对象响应数据角度的另一个字段中选择更新值
- python - 导入 Tensorflow 时 Jupyter 内核死机,jupyter notebook 出现问题