在pyroutelib2中加载osm文件

0 投票
2 回答
1059 浏览
提问于 2025-04-18 18:23

你好,我是Python编程的新手。

现在我在做一个项目,需要离线计算两个点之间的距离(经纬度)。

我知道谷歌地图可以提供这个服务,但我不能使用,因为免费账户有使用限制。

所以我在网上查资料,发现pyroutelib2可以利用OpenStreetMap的数据来实现这个功能。

pyroutelib链接

现在我有点卡住了。我在Windows 8 x64系统上,使用的是Python 2.7。

我已经从这个链接下载了pyroutelib:http://svn.openstreetmap.org/applications/routing/pyroutelib2/

并且我已经准备好了我的国家地图(osm.bz2文件)。问题是,当我在控制台输入命令:

loadosm.py f:\asia.osm car
loadosm.py f:\asia.osm.bz2 car
loadosm.py f:\asia.osm.pbf car

(osm文件在不同的目录下)

时,osm文件没有被加载,返回了这个信息:

Loaded 0 nodes
Loaded 0 cycle routes
Searching for node: found None

请大家帮帮我。谢谢!

2 个回答

0

你可以看看osmapi,这是我用来获取开放街图(OSM)文件并把它们导入到pyroutelib2里的工具。我不确定这是否能解决你的问题,但我用这个方法还挺顺利的。

0

我得到的结果是一样的。要么是pyroutelib2有问题,要么它的文档有问题。

我建议你换一个路由库或者工具来用。可以看看OSM的维基页面,里面有关于路由的信息,还有在线路由器离线路由器的列表。这里有很多有趣的解决方案可以选择。

撰写回答