You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OSMnx中不同custom_filter获取同一节点[245813931]坐标不一致问题

异常原因的几种可能性

结合你的场景(仅单个节点异常、仅特定过滤器+多边形组合触发),以下是最可能的几个原因:

  • OSM节点关联边的标签与空间范围冲突
    节点245813931可能同时关联了多条边:一条在你的多边形范围内的普通铁路(rail)边,另一条在多边形范围外的道岔(switch)边。当你使用包含^switch$的过滤器时,OSMnx会拉取所有匹配rail或switch的边,包括那条多边形外的switch边。如果这条外部switch边的OSM数据中,节点坐标被错误编辑过(比如笔误),OSMnx在构建图时可能误读了这条边附带的节点坐标,而非节点的原始坐标。而其他过滤器只匹配rail边,只会读取多边形内正确的边关联坐标。

  • 多边形空间筛选与bbox的逻辑差异
    OSMnx的graph_from_polygon使用精确的多边形空间包含判断,而bbox_polygon是矩形范围的包含判断。若这个节点刚好位于多边形的边界附近,当筛选switch类型边时,OSMnx对跨边界边的裁剪逻辑可能出现异常,导致节点坐标被错误计算;而矩形bbox的判断逻辑更宽松,避开了这个边缘裁剪的问题(OSMnx 1.3.0存在部分空间裁剪的已知小问题)。

  • OSMnx 1.3.0版本的特定边缘bug
    你使用的OSMnx 1.3.0在处理包含switch标签的自定义过滤器与多边形组合查询时,存在极个别边缘场景的解析错误。这类bug通常仅在特定节点+空间范围的组合下触发,也是你处理1000多个多边形只遇到一次的原因,且后续版本大概率已修复。

验证建议

  • 直接去OSM官网查询节点245813931的原始坐标,对比你异常返回的坐标,确认是否是关联边的坐标存在错误。
  • 升级OSMnx到最新版本,重新测试该多边形和过滤器,看异常是否消失。

内容的提问来源于stack exchange,提问作者maketew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:45:24