3 个版本
新版本 0.6.1 | 2024年8月23日 |
---|---|
0.6.0 | 2024年8月9日 |
0.6.0-beta1 | 2024年8月8日 |
102 在 地理空间
232 每月下载次数
在 bbox-server 中使用
365KB
8K SLoC
BBOX 瓦片服务器
地图瓦片服务和瓦片缓存初始化。
功能
- 矢量瓦片服务器(来源:PostGIS)
- 栅格瓦片服务器(后端:QGIS 服务器和 MapServer)
- 瓦片代理服务器(后端:WMS)
- OGC API - Tiles Core
- 带有 TileJSON 元数据的 XYZ 矢量瓦片
- OGC WMTS(通过地图服务后端)
瓦片初始化功能
- 并行初始化栅格和矢量瓦片
- 存储后端:S3 - 优化瓦片传输
- 存储后端:本地文件
配置
请参阅文档中的示例。
使用
使用 bbox.toml 配置运行瓦片服务器
# Reduce log output for testing
export BBOX_MAPSERVER__NUM_FCGI_PROCESSES=1
cargo run serve
瓦片请求
curl -o /tmp/tile.png https://127.0.0.1:8080/xyz/ne_extracts/2/2/2.png
curl -o /tmp/tile.png https://127.0.0.1:8080/xyz/ne_umn/2/2/2.png
curl -o /tmp/tile.jpg https://127.0.0.1:8080/xyz/gebco/0/0/0.jpeg
curl -o /tmp/tile.mvt https://127.0.0.1:8080/xyz/mbtiles_mvt_fl/14/8621/5759.mvt
curl -o /tmp/tilegz.mvt -H 'Content-Encoding: gzip' https://127.0.0.1:8080/xyz/mbtiles_mvt_fl/14/8621/5759.mvt
curl -o /tmp/tile.png -H 'Accept: image/png; mode=8bit' https://127.0.0.1:8080/map/tiles/ne_extracts/2/2/2
无配置运行瓦片服务器
cargo run -- serve ../assets/liechtenstein.mbtiles
curl -o /tmp/tile.mvt https://127.0.0.1:8080/xyz/liechtenstein/14/8621/5759.mvt
OGC API 入口点
curl -s -H 'Accept: application/json' https://127.0.0.1:8080/ | jq .
curl -s https://127.0.0.1:8080/openapi.json | jq .
XYZ URL(Leaflet、QGIS 等)
https://127.0.0.1:8080/xyz/ne_extracts/{z}/{x}/{y}.png
Tilejson 请求
curl -s https://127.0.0.1:8080/xyz/mbtiles_mvt_fl.json | jq .
样式 JSON 请求
curl -s https://127.0.0.1:8080/xyz/mbtiles_mvt_fl.style.json | jq .
curl -s https://127.0.0.1:8080/xyz/ne_extracts.style.json | jq .
元数据请求
curl -s https://127.0.0.1:8080/xyz/mbtiles_mvt_fl/metadata.json | jq .
地图查看器示例
x-www-browser http://127.0.0.1:8080/assets/usergrid.html?debug=1
地图查看器模板示例
x-www-browser http://localhost:8080/html/maplibre/mbtiles_mvt_fl?style=/assets/mbtiles_mvt_fl-style.json
使用 PostGIS 服务
just start-db
just serve
curl -s http://localhost:8080/xyz/ne_countries.style.json | jq .
x-www-browser http://localhost:8080/assets/maplibre.html?style=/xyz/ne_countries.style.json
瓦片请求
curl -o /tmp/tile.mvt https://127.0.0.1:8080/xyz/ne_countries/2/2/2.mvt
带有过滤器参数
curl -o /tmp/tile.mvt 'https://127.0.0.1:8080/xyz/taxi_zones/0/0/0.mvt?color=3.0'
初始化
发布构建
cargo build --release
使用代理 WMS 初始化
../target/release/bbox-tile-server seed --tileset=gebco --tile-path=/tmp/tiles/gebco --maxzoom=2
使用嵌入式地图服务初始化
../target/release/bbox-tile-server seed --tileset=ne_extracts --tile-path=/tmp/tiles/ne_extracts --maxzoom=2
初始化 PostGIS MVT 瓦片
../target/release/bbox-tile-server seed --tileset=ne_countries --tile-path=/tmp/tiles/ne_countries --maxzoom=2
初始化到 S3 存储
有关本地 S3 测试设置的更多信息,请参阅 performance.md。
设置 S3 环境变量
export S3_ENDPOINT_URL="https://127.0.0.1:9000"
export AWS_ACCESS_KEY_ID=miniostorage
export AWS_SECRET_ACCESS_KEY=miniostorage
初始化栅格瓦片
../target/release/bbox-tile-server seed --tileset=ne_extracts --s3-path=s3://tiles --maxzoom=5
使用 Maputnik 进行 MVT 样式化
- 从 https://github.com/maputnik/editor/releases 下载最新的 public.zip
- 解压缩到 ../assets/ 并将 public 重命名为 maputnik
打开示例
https://127.0.0.1:8080/assets/maputnik/index.html?style=https://127.0.0.1:8080/assets/maplibre-style.json
https://127.0.0.1:8080/assets/maputnik/index.html#11.0/47.0944/9.5076
https://127.0.0.1:8080/assets/maputnik/index.html?style=https://127.0.0.1:8080/xyz/mbtiles_mvt_fl.style.json
依赖项
~117MB
~2M SLoC