1 个不稳定版本

0.1.0 2024 年 8 月 8 日

241地理空间

Download history 71/week @ 2024-08-02 41/week @ 2024-08-09

112 每月下载量
用于 bbox-server

MIT/Apache

125KB
3K SLoC

BBOX 路由服务

具有收缩层次结构的路由服务。

功能

  • OGC API - 路线 - 第 1 部分:核心
  • 多个搜索 API
    • OGC API 路线请求
    • 基本从/到请求
    • 与 Valhalla API 兼容的请求
  • 内置存储后端:PostGIS、GeoPackage
  • 从 OSM 星球文件中提取路由图

配置

GeoPackage 线几何表

[[routing.service]]
profile = "railway"
gpkg = "../assets/railway-test.gpkg"
table = "flows"
geom = "geom"

PostGIS 边/顶点表

# Node search distance
search_dist = 0.01
# Edge table
table = "rail_arcs"
# Node/Vertices table
node_table = "rail_arcs_vertices_pgr"
# Geometry column
geom = "geom"
# Node ID column in node table
node_id = "id"
# Cost column
cost = "cost"
# Column with source node ID
node_src = "source"
# Column with destination (target) node ID
node_dst = "target"

这假设使用例如 PgRouting pgr_createTopology 创建的表。

收缩层次结构在首次启动时创建,并存储为名为 .graph.bin.nodes.bin 的缓存文件中。

用法

请求示例

curl -s -X 'POST' \
  'https://127.0.0.1:8080/routes?mode=sync' \
  -H 'accept: application/geo+json' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Route from A to B",
  "waypoints": {
    "type": "MultiPoint",
    "coordinates": [
      [9.35213353, 47.0935012],
      [9.3422712, 47.1011887]
    ]
  },
  "preference": "fastest",
  "dataset": "OSM"
}'

基本从/到请求

curl -s 'https://127.0.0.1:8080/routes/basic?profile=railway&from_pos=9.35213353,47.0935012&to_pos=9.3422712,47.1011887'

苏黎世 - 慕尼黑

curl -s 'https://127.0.0.1:8080/routes/basic?profile=railway&from_pos=8.53636,47.37726&to_pos=11.56096,48.14019'

Valhalla 端点(例如 Valhalla QGIS 插件)

基本 URL: https://127.0.0.1:8080/routes/valhalla

依赖关系

~92MB
~1.5M SLoC