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

OSMNx获取建筑多边形节点/角/边坐标时结果被截断问题求助

问题根因

你观测到的坐标显示不全是Pandas库默认的控制台输出缩略规则导致的,OSMNx实际已经拉取到了该建筑Polygon的全部顶点坐标,不存在数据截断的情况。你截图中看到的POLYGON字段仅显示前两个坐标,是Pandas为了优化控制台展示效果自动做的缩略处理,数据本身是完整的。

解决方案

1. 提取完整坐标的代码示例

import osmnx as ox
import pandas as pd

# 关闭Pandas列宽/长度限制,打印时不会自动缩略内容
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', None)

# 原有查询逻辑
test = ox.geocode_to_gdf('aldi, Macclesfield, Cheshire, GB')

# 提取首个结果的多边形对象
building_polygon = test.iloc[0].geometry
# 提取多边形外围的所有顶点坐标
all_vertex_coords = list(building_polygon.exterior.coords)

# 输出全部坐标和顶点总数
print("建筑所有顶点坐标:", all_vertex_coords)
print("顶点总数:", len(all_vertex_coords))

如果你是通过geometries_from_place/新版本的features_from_place获取的建筑数据,提取坐标的逻辑完全一致,只需取出对应行的geometry属性,读取exterior.coords即可拿到所有顶点坐标。

2. 注意事项

  • 如果你需要获取每个顶点对应的OSM原始节点ID,可通过OSMNx的overpass查询接口自定义查询规则,直接拉取建筑关联的所有节点信息。
  • 建议升级到最新版本OSMNx,避免旧版本存在的查询逻辑bug,升级命令:pip install -U osmnx。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:27:03