路径规划神器:routing-py

路径规划神器:routing-py

routingpy 🌎 Python library to access all public routing, isochrones and matrix APIs in a consistent manner. 项目地址: https://gitcode.com/gh_mirrors/ro/routingpy

项目简介

routing-py 是一个强大的 Python 3 库,它为多种流行的在线路径规划服务提供了统一的接口。灵感来自于 geopy,并受到其社区的热情支持,routing-py 让你在请求路线、等时线或时间距离矩阵时,能轻松访问各种第三方空间Web服务。

该库目前支持的服务包括:Mapbox(Valhalla 和 OSRM)、Openrouteservice、Here Maps、Google Maps、Graphhopper,以及本地部署的 Valhalla 和 Mapbox 等。详细的文档更新和最新的服务列表可在此查看:Documentation

技术分析

routing-py 的设计目标是简化与不同服务提供商之间的交互。每个服务都有自己的特定参数和算法,但routing-py 把这些差异抽象出来,提供了一套统一的基本参数,例如:locationsprofile 等。同时,每个服务特有的高级参数仍可以使用,使得你可以充分利用各个服务的独特功能。

安装过程简单明了,支持通过 Poetry、pip 或直接从源代码安装。此外,该项目遵循严格的测试策略,保证在不同版本的 Python 上的兼容性。

应用场景

无论你是想要:

  • 开车、骑自行车、步行或公共交通出行的方向导航
  • 建立可达性区域(等时线)
  • 计算多点之间的时间距离矩阵

routing-py 都是一个理想的工具。由于不同的服务提供商可能基于不同的数据集和算法,结果可能会有所不同。因此,这个库可以帮助你快速评估并选择最适合你的特定用途的服务。

项目特点

  1. 跨平台兼容:支持 CPython 3.6 及以上版本以及 PyPy 3.6。
  2. 统一API:基本参数统一,易于切换不同的路径规划服务。
  3. 多服务支持:涵盖多个流行的服务提供商,如 Mapbox、Google Maps 等。
  4. 易于安装:可以通过 Poetry、pip 或直接从源码安装。
  5. 详尽文档:提供丰富的示例代码和交互式 Notebook,方便学习和使用。
  6. 持续更新:活跃的开发团队不断添加新的服务和支持,确保其与最新技术保持同步。

示例代码

from routingpy import MapboxValhalla
from pprint import pprint

# 一些柏林的位置坐标
coords = [[13.413706, 52.490202], [13.421838, 52.514105],
          [13.453649, 52.507987], [13.401947, 52.543373]]

client = MapboxValhalla(api_key='mapbox_key')

# 获取路线信息
route = client.directions(locations=coords, profile='pedestrian')

# 计算等时线
isochrones = client.isochrones(locations=coords[0], profile='pedestrian', intervals=[600, 1200])

# 计算矩阵
matrix = client.matrix(locations=coords, profile='pedestrian')

pprint(route)

通过以上的简短介绍,你是否对 routing-py 充满兴趣呢?让我们一起体验这个强大的开源项目,为你的路径规划应用带来更多的可能性吧!

routingpy 🌎 Python library to access all public routing, isochrones and matrix APIs in a consistent manner. 项目地址: https://gitcode.com/gh_mirrors/ro/routingpy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值