首页 > 解决方案 > 我无法从地点信息中检索足迹

问题描述

enter code here当我尝试使用地名检索脚印时

import osmx as ox
tags = {'building': True}
gdf = ox.geometries_from_place('Piedmont, California, USA', tags)

我收到以下错误消息:

IllegalArgumentException: Argument must be Polygonal or LinearRing

PredicateError: Failed to evaluate <_FuncPtr object at 0x13a2ea120>

过去,我已经成功使用旧版本检索足迹ox.footprints_from_place()。但是,这不再起作用,新方法也不起作用。有人对 osmnx 包的新版本(1.0.1)有同样的问题吗?

由于 stackoverflow 的限制,我无法发布完整的回溯消息。似乎 osmnx 没有创建所需的多边形。第一个错误条目是:

---------------------------------------------------------------------------
PredicateError                            Traceback (most recent call last)
<ipython-input-13-98877af3189c> in <module>
      1 import osmnx as ox
      2 tags = {'building': True}
----> 3 gdf = ox.geometries_from_place('Piedmont, California, USA', tags)

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/osmnx/geometries.py in geometries_from_place(query, tags, which_result, buffer_dist)
    214 
    215     # create GeoDataFrame using this polygon(s) geometry
--> 216     gdf = geometries_from_polygon(polygon, tags)
    217 
    218     return gdf

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/osmnx/geometries.py in geometries_from_polygon(polygon, tags)
    264 
    265     # create GeoDataFrame from the downloaded data
--> 266     gdf = _create_gdf(response_jsons, polygon, tags)
    267 
    268     return gdf

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/osmnx/geometries.py in _create_gdf(response_jsons, polygon, tags)
    428 
    429         # Apply .buffer(0) to any invalid geometries
--> 430         gdf = _buffer_invalid_geometries(gdf)
    431 
    432         # Filter final gdf to requested tags and query polygon

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/osmnx/geometries.py in _buffer_invalid_geometries(gdf)
    891 
    892         # create a filter for rows with invalid geometries
--> 893         invalid_geometry_filter = ~gdf["geometry"].is_valid
    894 
    895         # if there are invalid geometries

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/geopandas/base.py in is_valid(self)
    168         """Returns a ``Series`` of ``dtype('bool')`` with value ``True`` for
    169         geometries that are valid."""
--> 170         return _delegate_property("is_valid", self)
    171 
    172     @property

最后的回溯消息是:


/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/shapely/predicates.py in __call__(self, this)
     23     def __call__(self, this):
     24         self._validate(this)
---> 25         return self.fn(this._geom)

/opt/anaconda3/envs/gerdaenv/lib/python3.7/site-packages/shapely/geos.py in errcheck_predicate(result, func, argtuple)
    582     """Result is 2 on exception, 1 on True, 0 on False"""
    583     if result == 2:
--> 584         raise PredicateError("Failed to evaluate %s" % repr(func))
    585     return result
    586 

PredicateError: Failed to evaluate <_FuncPtr object at 0x13a2ea120>

标签: osmnx

解决方案


推荐阅读