osmnx - 我无法从地点信息中检索足迹
问题描述
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>
解决方案
推荐阅读
- api - 将跟踪号硬编码到 URL 中
- python - 为什么我们像这样在 Django 自定义中间件中使用第一类函数?
- linkedin-api - 检索公司详细信息时“查看者无权访问 ADMIN_ONLY VisibilityReduction”
- python - 在反向代理案例中使用 Nginx 和 uWSGI 运行 Flask 应用程序的正确方法是什么?
- reactjs - 连接到 PayPal 的 React 订阅计划
- reactjs - 无法在反应应用程序上使用 axios 从 heroku 获取节点 api
- java - CE_CLASS_ENVY 方法过度使用另一个类 Java 的方法
- typescript - 打字稿 - 具有约束的通用休息参数
- arrays - Array.fill 需要 1-3 个参数,得到 0?
- python - 将 FastAPI 应用程序部署到 Google Cloud App Engine 时收到未找到模块错误