Skip to main content

用于对 OSM 数据进行简单路由的库

项目描述

pyroutelib3

pyroutelib2的延续。Python 3 中 OSM 数据的路由。

OSM 数据块存储在tilescache/

用法

from pyroutelib3 import Router # Import the router
router = Router("<transport mode>") # Initialise it

start = router.findNode(lat, lon) # Find start and end nodes
end = router.findNode(lat, lon)

status, route = router.doRoute(start, end) # Find the route - a list of OSM nodes

if status == 'success':
    routeLatLons = list(map(router.nodeLatLon, route)) # Get actual route coordinates

交通方式:汽车、自行车、步行、马、电车、火车

状态:成功、no_route、give_up

离线路由

如果要离线使用 pyroutelib3 或在自定义 .osm 文件上使用,只需向 Router 添加第二个参数:特定 osm 文件的路径。

from pyroutelib3 import Router
router = Router("<transport mode>", "<path-to-.osm-file>")
# Continue on doing like in the example above

从 1.5 开始,pyroutelib3 现在接受其他文件格式,然后是 OSM XML:.osm.gz、.osm.bz2 和 .osm.pbf。但是,必须通知 pyroutelib3 提供了哪种文件,如下所示:

from pyroutelib3 import Router
router = Router("<transport mode>", "<path-to-file>", localfileType="<xml/gz/bz2/pbf>")
更多信息

有关使用 pyroutelib3 的更多高级信息(例如自定义方式成本),请查看 wiki:https ://github.com/MKuranowski/pyroutelib3/wiki 。

来自 pyroutelib2 的更改

  • 移植到 python3
  • 使 pyroutelib 成为一个包
  • 自定义传输类型
  • 处理访问密钥
  • 转弯限制
  • 离线路由器(仅加载本地 osm 文件)

执照

pyroutelib3 在 GNU GPL v3 下分发。

版权所有 2007,Oliver White 修改:版权所有 2017-2018,Mikolaj Kuranowski - 基于https://github.com/gaulinmp/pyroutelib2

pyroutelib3 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可条款重新分发和/或修改它;许可证的第 3 版,或(由您选择)任何更高版本。

pyroutelib3 的分发是希望它有用,但没有任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到了 GNU 通用公共许可证的副本以及 pyroutelib3。如果没有,请参阅http://www.gnu.org/licenses/。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyroutelib3-1.7.2.tar.gz (24.9 kB 查看哈希)

已上传 source

内置分布

pyroutelib3-1.7.2-py3-none-any.whl (41.9 kB 查看哈希)

已上传 py3