openstreetmap - osmnx 边界和 admin_level
问题描述
我希望这里有人可以帮助我从 OSM 检索正确的管理级别。我正在使用以下代码,但 admin_level 似乎被忽略了:
tags = {"boundary":"administrative","admin_level":"4" }
gdf =ox.geometries.geometries_from_bbox(51.5, 51.0, 11.7, 11.2, tags)
gdf.shape
边界框似乎被用作多边形来创建与 OSM 数据库中所有边界的交集,第一个标签正在工作,因为只返回行政边界,但忽略级别上的过滤器 (gdf["admin_level"]. head() 显示第 6 级)。
我想了解我做错了什么,以及如何更好地使用这个包;它似乎是一个非常有用的库。谢谢, 吉斯
使用边界框的结果:
解决方案
好的,再次阅读文档让我意识到 osmnx 使用的是 [OR] 语句,而不是我假设的 [AND] 语句;从查询中删除边界请求确实只给出 admin_level:4 结果。
tags (dict) -- 用于在选定区域中查找对象的标签字典。返回的结果是联合,而不是每个单独标签的交集。
推荐阅读
- geometry - 将简单几何/形状转换为纯文本的工具(用作代码注释)
- r - 如何不考虑(在过滤器语句中)函数 R 中缺少的参数
- reactjs - 为什么点击事件没有在购物车中添加数量
- android - WorkManager/PeriodicWorkRequest - 如果之前的工作已经重试,下一个工作何时执行?
- java - 如何使用 Hibernate 管理两个表中的多对多关系
- cxf - Servicemix 7.0.1 - 迁移后 cxf 服务器启动太慢
- deployment - 以用户名@服务器名执行时出现 Capistrano 异常:没有将数组隐式转换为字符串
- php - 将一周的开始日期从星期一更改为星期六
- c - 简单函数的分段错误
- python - 为什么我的 numpy 相关代码停止工作?