OSMnx在基本用法上给出“ TypeError:查询必须是字符串或查询字符串列表”

时间:2018-07-21 13:47:29

标签: python-2.7 osmnx

按照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))

在项目的readme中,我明白了

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运行超过此错误?

2 个答案:

答案 0 :(得分:0)

这可能是由于

development.ini

在您的代码中,since(包括它)会将所有字符串转换为类型from pyramid.scripts.common import parse_vars ,而API则期望使用类型为from __future__ import unicode_literals 的参数。如果存在,将其删除将防止错误发生。

答案 1 :(得分:0)

另请参阅:https://github.com/gboeing/osmnx/issues/185

  

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