
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库包含https://github.com/geo-data/cesium-terrain-builder%E5%BA%94%E7%94%A8%E7%9A%84%60Dockerfile%60%EF%BC%8C%E6%94%AF%E6%8C%81%E6%96%B0%E7%9A%84Cesium%E5%9C%B0%E5%BD%A2%E6%A0%BC%E5%BC%8F*quantized-mesh*%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E5%9F%BA%E4%BA%8E%E4%B8%80%E4%B8%AAhttps://github.com/ahuarte47/cesium-terrain-builder/tree/master-quantized-mesh%E6%9E%84%E5%BB%BA%EF%BC%8C%E6%8F%90%E4%BE%9B%E9%87%8F%E5%8C%96%E7%BD%91%E6%A0%BC%E6%94%AF%E6%8C%81%EF%BC%8C%E5%A6%82%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E6%89%80%E8%BF%B0%E3%80%82%E5%85%B3%E4%BA%8E%E6%AD%A4%E5%88%86%E6%94%AF%E7%9A%84%E6%9C%80%E6%96%B0%E5%BC%80%E5%8F%91%E4%BF%A1%E6%81%AF%E5%8F%AF%E5%9C%A8%E8%AF%A5https://github.com/geo-data/cesium-terrain-builder/pull/64%E4%B8%AD%E6%9F%A5%E7%9C%8B%E3%80%82%E6%84%9F%E8%B0%A2https://github.com/homme%E5%92%8Chttps://github.com/ahuarte47%E5%9C%A8Cesium Terrain Builder和量化网格支持方面的出色工作。
注意: 镜像会在每次推送到https://github.com/ahuarte47/cesium-terrain-builder/tree/master-quantized-mesh%E6%97%B6%E9%87%8D%E6%96%B0%E6%9E%84%E5%BB%BA%E3%80%82%E8%AF%B7%E8%AE%BF%E9%97%AEhttps://hub.docker.com/r/tumgis/ctb-quantized-mesh%E6%9F%A5%E7%9C%8B%E6%9C%80%E6%96%B0%E6%9E%84%E5%BB%BA%E7%89%88%E6%9C%AC%E3%80%82
如遇问题或希望贡献代码,请创建https://github.com/tum-gis/cesium-terrain-builder-docker/issues%E6%88%96https://github.com/tum-gis/cesium-terrain-builder-docker/pulls%E3%80%82
按照以下步骤使用此Docker镜像为Cesium创建量化网格瓦片。
alpine镜像更新至Alpine v3.12和GDAL v3.14Docker镜像可在DockerHub的https://hub.docker.com/r/tumgis/%E4%BB%93%E5%BA%93%E8%8E%B7%E5%8F%96%E3%80%82%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F%E5%91%BD%E4%BB%A4%EF%BC%9A%60docker pull tumgis/ctb-quantized-mesh:
| 标签 | 构建状态 | 描述 |
|---|---|---|
latest | https://travis-ci.com/tum-gis/cesium-terrain-builder-docker.svg?branch=master](https://travis-ci.com/tum-gis/cesium-terrain-builder-docker) | 基于Debian和GDAL 2.1.2的最新镜像构建 |
alpine | https://travis-ci.com/tum-gis/cesium-terrain-builder-docker.svg?branch=alpine](https://travis-ci.com/tum-gis/cesium-terrain-builder-docker) | 基于轻量级Alpine Linux v3.12和GDAL v3.14的镜像 |
bashcmdgit-bashWindows系统上,Docker默认可使用的系统资源有限。通过Docker托盘图标 -> 设置 -> 高级调整Docker可使用的核心数和内存以提高性能。
强烈建议(但非必须)在使用CTB前将数据转换为WGS84(EPSG:4326)坐标参考系,以避免地形数据集的垂直或水平偏移。如有可能,使用NTv2转换方法。例如,FME可通过EsriReprojector转换器或ESRI ArcGIS支持此转换。
将数据放在Docker可挂载的文件夹中。Windows系统中,需先授予数据所在驱动器的访问权限才能挂载文件夹。通过Docker托盘图标 -> 设置 -> 共享驱动器与Docker共享驱动器。有关Windows上挂载主机目录的详细指南,请参阅此博客文章。
下文假设Windows Docker主机的地形数据存储在d:\docker\terrain且d:\已共享;Linux Docker主机的地形数据存储在/docker/terrain。
当数据转换完成并复制到Docker可访问位置后,即可使用CTB创建Cesium地形。
启动CTB前,建议使用docker pull tumgis/ctb-quantized-mesh拉取最新镜像版本。然后启动CTB容器并将地形数据文件夹挂载到容器内的/data目录。不同操作系统和shell的示例如下:
Linux - bash
bashdocker run -it --name ctb \ -v "/docker/terrain":"/data" \ tumgis/ctb-quantized-mesh
Windows - cmd
shdocker run -it --name ctb ^ -v "d:/docker/terrain":"/data" ^ tumgis/ctb-quantized-mesh
Windows - git-bash
shwinpty docker run --rm -it --name ctb \ -v "d:\\docker\\terrain":"/data" \ tumgis/ctb-quantized-mesh
若数据集为单个文件,直接进入下一步。若数据集包含多个瓦片(多个文件),需使用gdalbuildvrt创建GDAL虚拟数据集。
shgdalbuildvrt <输出vrt文件.vrt> <文件>
例如,若有多个*.tif文件,运行:
shgdalbuildvrt tiles.vrt *.tif
创建GDAL虚拟数据集的更多选项(如使用文件列表)可参考gdalbuildvrt文档。
首先,创建地形输出文件夹,例如mkdir -p terrain。然后运行CTB创建地形文件:
shctb-tile -f Mesh -C -N -o terrain <输入文件.tif或输入.vrt>
例如,若已创建tile.vrt:
shctb-tile -f Mesh -C -N -o terrain tile.vrt
ctb-tile支持多种选项。运行ctb-tile --help查看所有选项。处理大型数据集时,可考虑设置-m选项和GDAL_CHACHEMAX环境变量,详见https://github.com/geo-data/cesium-terrain-builder#ctb-tile%E3%80%82
最后,需创建图层描述文件。只需在创建地形文件的命令后添加-l参数重新运行。例如:
shctb-tile -f Mesh -C -N -o terrain tiles.vrt # 创建地形文件 ctb-tile -f Mesh -C -N -l -o terrain tiles.vrt # 创建图层描述文件
最终,地形数据文件夹结构应类似:
text$ tree -v -C -L 1 terrain/ terrain/ |-- 0 |-- 1 |-- 2 |-- 3 |-- 4 |-- 5 |-- 6 |-- 7 |-- 8 |-- 9 |-- 10 |-- 11 |-- 12 |-- 13 |-- 14 |-- 15 `-- layer.json
量化网格地形现已准备就绪。
仔细阅读ctb-tile的https://github.com/geo-data/cesium-terrain-builder#recommendations%EF%BC%8C%E5%B0%A4%E5%85%B6%E6%98%AF%E5%A4%84%E7%90%86%E5%A4%A7%E5%9E%8B%E6%95%B0%E6%8D%AE%E9%9B%86%E6%97%B6%E3%80%82
大范围数据集可能在低缩放级别导致溢出错误:
text0...10...20...30...40...50...60...70...80...90...ERROR 1: Integer overflow : nSrcXSize=41494, nSrcYSize=16585 ERROR 1: IReadBlock failed at X offset 0, Y offset 0: Integer overflow : nSrcXSize=41494, nSrcYSize=16585 ...
如https://github.com/tum-gis/cesium-terrain-builder-docker/issues/3#issuecomment-772680266%E6%89%80%E8%BF%B0%EF%BC%8C%E8%BF%99%E6%98%AF%E7%94%B1%E4%BA%8EGDAL%E5%B0%9D%E8%AF%95%E4%BB%8E%E8%BE%93%E5%85%A5%E6%95%B0%E6%8D%AE%E5%88%9B%E5%BB%BA%E6%A6%82%E8%A7%88%E5%AF%BC%E8%87%B4%E7%9A%84%E3%80%82%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E6%98%AF%E5%88%9B%E5%BB%BA%E4%BD%8E%E5%88%86%E8%BE%A8%E7%8E%87%E7%9A%84%E7%AE%80%E5%8C%96%E8%BE%93%E5%85%A5%E6%95%B0%E6%8D%AE%E7%89%88%E6%9C%AC%EF%BC%8C%E7%94%A8%E4%BA%8E%E4%BD%8E%E7%BA%A7%E5%88%AB%E7%BD%91%E6%A0%BC%E7%93%A6%E7%89%87%E5%88%9B%E5%BB%BA%E3%80%82%E5%8F%AF%E4%BD%BF%E7%94%A8gdal_translate%E5%AE%9E%E7%8E%B0%E3%80%82%E7%84%B6%E5%90%8E%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%60ctb-tile%60%E4%BB%8E0%E7%BA%A7%E5%BC%80%E5%A7%8B%E5%88%9B%E5%BB%BA%E4%B8%8D%E5%B4%A9%E6%BA%83%E7%9A%84%E5%88%86%E8%BE%A8%E7%8E%87%E7%9A%84%E7%BD%91%E6%A0%BC%E7%93%A6%E7%89%87%EF%BC%8C%E4%B8%BA%E6%AF%8F%E4%B8%AA%E7%BA%A7%E5%88%AB%E4%BD%BF%E7%94%A8%E5%B0%BD%E5%8F%AF%E8%83%BD%E9%AB%98%E4%B8%94%E4%B8%8D%E5%B4%A9%E6%BA%83%E7%9A%84%E5%88%86%E8%BE%A8%E7%8E%87%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务