Skip to content

Web 地图瓦片与三维 ​

为 Web 地图和三维场景准备数据:把矢量切成 MVT 矢量瓦片,把影像切成栅格瓦片,把 DEM 做成 Terrain-RGB 或 Cesium 地形瓦片,配套生成字体和图标资源,并对 LOD1.3 建筑模型做质检。

你会得到什么 ​

成果用在哪里插件
MBTiles 或 {z}/{x}/{y}.pbf 矢量瓦片MapLibre、Mapbox GL、OpenLayers 等Tippecanoe
PNG / JPEG 栅格瓦片目录(XYZ 或 TMS)或 MBTiles各类 Web 地图的影像图层ZealMap Raster Tiler
Terrain-RGB 高程瓦片MapLibre / Mapbox 三维地形ZealMap Raster Tiler
Cesium heightmap 地形瓦片(.terrain)Cesium 三维地球cesium-terrain-builder
glyph PBF 字体、sprite 精灵图MapLibre / Mapbox GL 样式的 glyphs 和 spriteZealMap VT Assets
LOD1.3 模型质检报告三维建筑模型验收ZealMap LOD1.3 质检

这些都是扩展插件,用到哪个在插件市场装哪个,见切片与三维模型和制图工具:ZealMap VT Assets。

矢量瓦片 ​

把 buildings.shp 和 roads.shp 切进同一套矢量瓦片,分成 buildings、roads 两个图层,4–14 级,只保留 name 和 height 字段,输出 MBTiles。

智能体会先用 GDAL 把 Shapefile 转成 WGS84 的 GeoJSON(Tippecanoe 不直接读 Shapefile、GeoPackage,且要求经纬度坐标),再切片;数据量大时先做小范围、低级别试产,确认效果和体积后再全量。已有的同名输出默认不覆盖。

栅格瓦片与地形瓦片 ​

把 ortho.tif 切成 10–18 级的 PNG 瓦片,XYZ 目录结构。

把 dem.tif 编码成 Terrain-RGB 高程瓦片,输出 MBTiles,再抽样解码几个瓦片核对高程。

用 dem.tif 生成 Cesium 地形瓦片,先做 0 级试产,没问题再全量。

切片前会检查栅格的坐标系、范围、像元大小和 NODATA。缺少坐标系时不会猜测,需要你确认。生成后统计瓦片数量和层级,Terrain-RGB 可以抽样解码像素高程,.terrain 可以抽检采样数和高程范围。

字体与图标 ​

把思源黑体做成 MapLibre 的 glyph PBF;把 icons 文件夹里的 SVG 打包成精灵图,同时生成 @2x。

字体名以检查结果为准,不按文件名猜。多个字体可以组成回退字体栈,例如西文字体在前、中文字体补缺字。

三维建筑模型质检 ​

检查 D:\models 下的 LOD1.3 OBJ 模型,用 footprint.shp 轮廓检查套合,出质检报告。

检查结构与规模、拓扑、材质与纹理、坐标系与贴地,按规则列出错误和警告;完整报告写成 JSON 文件时需要审批。默认阈值可以按你的项目标准调整,例如“每个模型面数上限改成 8000”。

做一个 WebGIS 页面 ​

WebGIS 开发专家可以用这些瓦片和服务做一个网页地图:图层面板、属性弹窗、图例等,并在本地启动、构建验证。

用刚才生成的矢量瓦片(目录式 pbf)做一个 MapLibre 网页地图,左侧图层面板可以开关 buildings 和 roads,点击建筑弹出名称和高度。

注意 ​

  • 磁盘空间:瓦片数量随层级指数增长,高层级的栅格瓦片可能有几十万到上百万个文件,先估算再全量;
  • NODATA:Cesium 地形和 Terrain-RGB 都不填补 NODATA,DEM 有空洞时先用其他栅格工具填补;
  • 不提供服务:这些插件只生成文件,不启动地图服务;发布成在线服务需要放到你的服务器或 CDN 上,矢量数据也可以入库后发布到 GeoServer;
  • Cesium 格式:只支持 heightmap-1.0,不支持 quantized-mesh;
  • 授权:字体和图标需要你确认允许转换、嵌入和再分发。