首页 > 解决方案 > 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 级)。

我想了解我做错了什么,以及如何更好地使用这个包;它似乎是一个非常有用的库。谢谢, 吉斯

使用边界框的结果:

1

标签: openstreetmaplevelsboundaries

解决方案


好的,再次阅读文档让我意识到 osmnx 使用的是 [OR] 语句,而不是我假设的 [AND] 语句;从查询中删除边界请求确实只给出 admin_level:4 结果。

tags (dict) -- 用于在选定区域中查找对象的标签字典。返回的结果是联合,而不是每个单独标签的交集。

一些额外的代码:https ://i.stack.imgur.com/Fw840.png


推荐阅读