OSMnx:检索多个城市的建筑物多边形

问题描述

我是osm的新手。 目前,我正在尝试使用python中的osmnx包来检索多个城市的建筑物多边形。

代码:

place = "Kuala Lumpur,Malaysia"
graph = ox.footprints.footprints_from_place(place,footprint_type='building')

graph.head()

它工作正常。

但是,如果我想获取其他状态,它将返回错误。

(如果我想在国家/地区一级检索它,结果也是相同的-在这种情况下-place =“ Malaysia”)

place = "Selangor,footprint_type='building')

graph.head()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-20-9e3439b6fc4c> in <module>()
      1 place = "Selangor,Malaysia"
----> 2 graph = ox.footprints.footprints_from_place(place,footprint_type='building')
      3 
      4 graph.head()

5 frames
/usr/local/lib/python3.6/dist-packages/shapely/geometry/multipolygon.py in geos_multipolygon_from_polygons(arg)
    175     # no implicit flattening.
    176     if isinstance(obs[0],MultiPolygon):
--> 177         raise ValueError("Sequences of multi-polygons are not valid arguments")
    178 
    179     exemplar = obs[0]

ValueError: Sequences of multi-polygons are not valid arguments

有人可以帮助我吗? 谢谢

解决方法

似乎OSMnx的footprints模块未正确处理或忽略复杂的(可能是无效的?)多边形几何。请注意,用are underway模块将footprintspois模块替换为功能更强大,更健壮,更通用的geometries模块。同时,我相信您可以使用pois这样的模块来实现您的目标:

import osmnx as ox
ox.config(use_cache=True,log_console=True)
place = 'Selangor,Malaysia'
gdf = ox.pois_from_place(place,tags={'building': True})
gdf.shape  # (47516,390)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...