1 个不稳定版本
0.1.0 | 2024 年 8 月 8 日 |
---|
241 在 地理空间 中
112 每月下载量
用于 bbox-server
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 插件)
依赖关系
~92MB
~1.5M SLoC