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

如何使用Osmnx获取指定城市区域的Bounding Box值?

解决方案

你有两种简洁的方式获取目标区域的Bounding Box:

1. 直接从查询地点获取官方边界

无需先获取建筑数据,用ox.geocode_to_gdf解析地点并返回包含边界信息的GeoDataFrame,直接提取Bounding Box:

import osmnx as ox

city = "Hannover Mitte"
# 获取地点的地理元数据,包含官方定义的边界
place_gdf = ox.geocode_to_gdf(city)
# 提取Bounding Box,格式为[最小经度, 最小纬度, 最大经度, 最大纬度]
bbox = place_gdf.total_bounds.tolist()
print(bbox)

2. 从已获取的建筑数据计算实际覆盖范围

如果你已经拿到buildings这个GeoDataFrame,直接调用它的total_bounds属性,就能得到所有建筑覆盖区域的经纬度极值:

# 从现有建筑数据中提取Bounding Box
bbox = buildings.total_bounds.tolist()
# 结果格式:[最小经度, 最小纬度, 最大经度, 最大纬度]
print(bbox)

两种方法的差异:第一种是OSM中该地点的官方定义边界,第二种是你获取的建筑实际覆盖的范围,可根据需求选择。

内容的提问来源于stack exchange,提问作者Duc Anh Ho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 11:03:19