0

按照说明安装OSMnx(包括显式安装spatialindex)后

brew install spatialindex
pip install osmnx

运行第一个基本示例

import osmnx as ox
G = ox.graph_from_place('Manhattan Island, New York City, New York, USA', network_type='drive')
ox.plot_graph(ox.project_graph(G))

在项目的自述文件中,我得到

Traceback (most recent call last):
  File "/Users/Rax/Documents/Projects/Coding/Python/maps/test.py", line 23, in <module>
    G = ox.graph_from_place('Manhattan Island, New York City, New York, USA', network_type='drive')
  File "/usr/local/lib/python2.7/site-packages/osmnx/core.py", line 1850, in graph_from_place
    raise TypeError('query must be a string or a list of query strings')
TypeError: query must be a string or a list of query strings

如何让 OSMnx 运行超过此错误?

4

2 回答 2

0

另见:https ://github.com/gboeing/osmnx/issues/185

OSMnx 与 Python 2 和 3 兼容,因此您无需从将来的包中导入即可使用它。如果您使用 Python 2 并从未来导入 unicode_literals,则您的所有字符串都将是 unicode 类型。正如您在文档中看到的,graph_from_place 期望查询是字符串类型,而不是 unicode 类型。

于 2018-08-01T15:46:13.970 回答
0

这可能是由于

from __future__ import unicode_literals

在您的代码中,因为包含它会将所有字符串转换为 type unicode,而 API 需要 type 的参数string。如果存在,将其删除将防止错误发生。

于 2018-07-22T12:22:29.573 回答