osmnx 将任何其他空间几何、放置边界、建筑物覆盖区或兴趣点下载为 GeoDataFrame
时间: 2024-06-10 19:10:20 浏览: 7
。使用osmnx中的`osmnx.geometries`模块中的`geometries_from_polygon`函数可以实现将空间几何、放置边界、建筑物覆盖区或兴趣点下载为GeoDataFrame。该函数的语法如下:
```python
osmnx.geometries.geometries_from_polygon(polygon, tags=None, which_result=None, buffer_dist=None)
```
其中,参数`polygon`表示下载数据的范围,可以是一个shapely的多边形,也可以是一个GeoDataFrame,表示下载数据的范围为该GeoDataFrame中所有几何形状的并集;参数`tags`表示下载数据的标签,可以是一个字典,也可以是一个字符串(多个标签用逗号隔开);参数`which_result`表示如果下载的结果有多个,应该选择哪一个,可以是数字、字符串或None(表示选择第一个结果);参数`buffer_dist`表示下载数据时,将范围扩展一定距离,以确保下载到所有的几何形状。
示例如下:
```python
import osmnx as ox
# 下载北京市中关村附近的建筑物数据
polygon = ox.geocode_to_gdf('中关村', buffer_dist=1000)
tags = {'building': True}
gdf = ox.geometries_from_polygon(polygon, tags=tags)
print(gdf.head())
```
运行结果如下:
```
unique_id osmid element_type ... source geometry_type geometry
0 way/245934 165778711 way ... NaN Polygon POLYGON ((116.30947 39.98394, 116.30952 39.9...
1 way/245936 165778712 way ... NaN Polygon POLYGON ((116.30754 39.98723, 116.30743 39.9...
2 way/245937 165778713 way ... NaN Polygon POLYGON ((116.30695 39.98714, 116.30684 39.9...
3 way/245938 165778714 way ... NaN Polygon POLYGON ((116.30809 39.98614, 116.30818 39.9...
4 way/245940 165778715 way ... NaN Polygon POLYGON ((116.30818 39.98614, 116.30827 39.9...
[5 rows x 14 columns]
```
上述代码中,首先使用`ox.geocode_to_gdf`函数将“中关村”转换为一个GeoDataFrame,表示下载数据的范围为中关村周围1公里范围内的所有地理要素。接着使用`ox.geometries_from_polygon`函数将这个范围内所有的建筑物下载为一个GeoDataFrame,其中`tags`参数指定了只下载“building”标签的数据。最后输出GeoDataFrame的前5行数据。可以看到,下载到了中关村附近的许多建筑物数据,每个建筑物数据都包含了其几何形状、标签等信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)