VectorTile 是一个基于 PostGIS 的 ST_AsMVT 函数开发的矢量切片服务器, HTTP 请求处理基于 .Net 6 WebAPI 实现。
PostGIS
最低版本为 3.1.x ;PostgreSQL
虽然 PostGIS 最低支持 9.6.x 版本的 PostgreSQL , 但是建议使用最新版 14.x 以获取最佳的性能;
如果有 Docker 环境, 可以直接拉取我定制的 PostGIS 镜像:
docker pull beginor/postgis:14-3.2.2022.0207
也可以拉取 PostGIS 的官方镜像:
docker pull postgis/postgis:14-3.2
当然, 也可以自行安装 PostgreSQL + PostGIS 。
空间数据格式没有要求, 只要能使用 GIS 软件 (QGIS, GDAL, ArcGIS 等) 导入到数据库中即可。
空间数据的坐标系建议是 WGS84 Web Mercator (SRID 3857) , 这个是 WebGIS 的标准, 也是矢量切片服务的默认坐标系, 输出时不需要进行坐标系转换, 效率最高。
虽然 PostGIS 提供了 ST_Transform 函数可以进行坐标系转换, 但是却要消耗额外的性能 (v1.1.0 提供了缓存功能, 在缓存有效时间内, 只需要进行一次坐标系转换)。
矢量切片服务配置保存在 config
目录下的 appsettings.json
文件中, 配置项说明如下:
Windows 系统直接运行 run.bat , Linux 系统直接运行 run.sh , 默认测试页面地址是:
如果需要修改占用的端口和上下文, 请修改 run.bat 或者 run.sh 文件内的
ASPNETCORE_PATHBASE
以及ASPNETCORE_URLS
。