3 个版本

新版本 0.6.1 2024 年 8 月 23 日
0.6.0 2024 年 8 月 9 日
0.6.0-beta12024 年 8 月 8 日

#86 in 地理空间

Download history 217/week @ 2024-08-05 26/week @ 2024-08-12

每月下载量 243
3 crates 中使用

MIT/Apache

220KB
5K SLoC

BBOX 地图服务器

异步地图服务器,具有 FCGI 后端。

功能

  • OGC WMS 1.3 服务器
  • OGC 地图 API 服务器
  • FCGI 后端
    • QGIS 服务器
    • UNN 地图服务器
  • WMS 后端仪表数据
  • 智能进程调度(慢查询检测)

配置

地图服务器设置

[mapserver]
# num_fcgi_processes = 4     # Default: number of CPU cores
# wait_timeout = 30000       # FCGI wait timeout in ms. Default: 90s
# search_projects = false    # Scan directories and build inventory

QGIS 服务器设置

[mapserver.qgis_backend]
project_basedir = "assets"   # Base dir for project files (.qgs, .qgz)
qgs.path = "/qgis"           # WMS URL base path
qgz.path = "/qgz"            # WMS URL base path

UMN 地图服务器设置

[mapserver.umn_backend]
project_basedir = "assets"   # Base dir for project files (.map)
path = "/wms/map"            # WMS URL base path

用法

cd ..
cargo run

配置

  • BBOX_MAPSERVER__NUM_FCGI_PROCESSES:FCGI 进程数(默认:CPU 核心数)

WMS 请求示例

curl -s 'http://127.0.0.1:8080/qgis/ne?SERVICE=WMS&REQUEST=GetCapabilities'

curl -o /tmp/map.png 'http://127.0.0.1:8080/qgis/ne?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=-20037508.34278924391,-5966981.031407224014,19750246.20310878009,17477263.06060761213&CRS=EPSG:900913&WIDTH=1399&HEIGHT=824&LAYERS=country&STYLES=&FORMAT=image/png;%20mode%3D8bit'

curl -o /tmp/legend.png 'http://127.0.0.1:8080/qgis/ne?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetLegendGraphic&LAYER=country&FORMAT=image/png&STYLE=default&TRANSPARENT=true'

curl -s 'http://127.0.0.1:8080/qgis/helloworld?SERVICE=WMS&REQUEST=GetProjectSettings'

curl -o /tmp/print.pdf 'http://127.0.0.1:8080/qgis/helloworld' -X POST \
     -d 'SERVICE=WMS&VERSION=1.3.0&REQUEST=GetPrint&FORMAT=pdf' \
     -d 'TEMPLATE=Composer 1&DPI=300&CRS=EPSG:4326' \
     -d 'map0:LAYERS=Country,Hello&map0:extent=-92.8913,-185.227,121.09,191.872'

UMN 地图服务器

curl -s 'http://127.0.0.1:8080/wms/map/ne?SERVICE=WMS&REQUEST=GetCapabilities'

curl -o /tmp/map.png 'http://127.0.0.1:8080/wms/map/ne?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=40.83354209954528358,0.542981257600549938,49.84069885574058389,15.5221558872974672&CRS=epsg:4326&WIDTH=1372&HEIGHT=825&LAYERS=country&STYLES=&FORMAT=image%2Fpng%3B%20mode%3D8bit'

WFS 请求示例

curl -s 'http://127.0.0.1:8080/qgis/ne?SERVICE=WFS&REQUEST=GetCapabilities'

curl -s 'http://127.0.0.1:8080/qgis/ne?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&TYPENAME=country&SRSNAME=EPSG:3857&BBOX=1059483.34824404888786376,5959680.16110791172832251,1061700.73825845750980079,5962445.67000228632241488,EPSG:3857'

curl -s --data @wfsadd.xml 'http://127.0.0.1:8080/qgis/ne?SERVICE=WFS&REQUEST=Transaction'

开发

主要库文档

Fast CGI

依赖项

~93MB
~1.5M SLoC