‌Tif地形加载方法‌

Mars2022企业版CIM模式的图层支持加载地形图层服务,本文将针对如何构建可支持的地形图层,并加载为CIM地形图层进行说明。

Mars2022企业版CIM模式支持添加天地图在线地形图层,如果希望将GeoTiff格式地形文件处理为可支持的地形瓦片图层,本文提供的为一种解决方案思路,供学习参考。

通过第三方工具(Cesiumlab)构建

Mars2022企业版CIM地形本地图层支持加载Cesium定义的一种地形瓦片描述格式,详情可以查看https://github.com/CesiumGS/quantized-mesh

目前市面上有多款工具支持构建Cesium Terrain格式地形数据,下述以Cesiumlab为例进行说明。

Cesiumlab是一款由北京西部世界公司开发,专为Cesium开源数字地球平台打造的免费数据处理工具集。

目前包含地形数据处理、影像数据处理、点云数据处理、数据下载、矢量数据处理(矢量楼块切片, 矢量点i3dm)、倾斜数据处理、三维场景(obj, fbx, ifc, 3ds, dae)处理、BIM数据(revit, ifc, microstation, catia)处理等工具。

同时提供一套node.js开发的数据服务器,形成从数据处理、服务发布、到三维可视的完整工具链。

(1)安装Cesiumlab

登录Cesiumlab官网(http://www.cesiumlab.com)下载最新版本。

双击安装,安装完成后打开,注册登录(免费注册账户需联网登录使用,无法使用高级功能)。

(2)地形切片

①登录后,选择【数据处理】-【地形切片】;

②【输入文件】-【添加】,选择需要切片的GeoTiff格式地形文件;

③添加文件后,点击文件所在行右侧齿轮按钮,弹出【参数配置】对话框,可进行属性配置;

注意事项:

  • 如无特殊需求建议保持默认,转换时将从数据中读取参数。
  • 支持同时添加多个不同地理位置的地形文件;
  • 选择多个文件时,如范围有重叠将采用增量方式进行融合。

④【处理参数】中配置参数:

【三角算法】支持vcg和ctb两种:

  • vcg:基于经典边塌陷算法的三角网简化算法,网格质量较好,误差更小,但处理速度较慢;
  • ctb:基于网格的快速三角简化算法,误差较大,但处理速度快;

其中vcg 的时间消耗约为ctb的60倍,可以按需选择。

【水面文件】目前Mars尚未支持,请保持默认留空。

⑤【输出文件】中配置参数:

  • 【存储类型】选择【散列】。
  • 【输出路径】点击【选择】,弹出文件选择对话框,选择期望保存的目录(目录建议为全英文)。

⑥配置完成后,点击【提交处理】,界面自动切换至【正在运行】页面,可查看运行进度。

⑦运行完成后,可切换至【处理日志】页面,查看历史处理记录,可选择记录重新处理。

(3)查看结果

在【处理日志】页面,【输出】列可直接打开运行结果所在目录。

①打开 {输出路径} 文件夹;

②其中子目录为形如0 1 2 ... 12 ... 的数字文件夹,数字与处理的GeoTiff地形数据源精度有关,这一层目录的数字即对应XYZ瓦片的{z}参数;

  • 任选一个数字文件夹打开,其中也是数字文件夹,这一层目录的数字即对应XYZ瓦片的{x}参数。
  • 在该文件夹下任选一个数字文件夹打开,其中包含文件名为数字,后缀为terrain的文件,文件的数字即对应XYZ瓦片的{y}参数。

③数字文件夹之外,还有一个名为.tmp的文件夹,为工具自身的缓存目录,最终成果可以不包含。

④散列文件;

  • layer.json:图层属性信息,如投影类型,平铺类型等。
  • meta.json: 其他额外的元数据信息。

(4)添加CIM图层

①选择【CIM】-【添加图层】,弹出【添加图层】对话框,图层类型选择【地形图层】;

②服务类型选择【Cesium Terrain】;

③服务地址填入启动的地图服务地址:

A.如果为本机数据:

a.通过右侧按钮打开文件管理器,选择 {输出路径} (文件路径须为全英文)下的layer.json文件;

b.点击【打开】,自动填充本地文件路径至服务地址。

B.如果希望将地形发布为服务:

a.可参考栅格地图的http服务方式(http-server是一款轻量级基于Node.js的命令行静态http服务器,可用于测试、开发和学习,详细使用说明可以查看官方介绍http-server - npm (npmjs.com)),操作方式类似:

  • 通过以下命令安装服务:

npm install -g http-server

  • 通过以下命令启动图层服务:

cd {选择的目录}\{图层名称文件夹} http-server

  • 如果运行成功会提示:

Available on:  http://xxx.xxx.xx.xxx:8080  http://127.0.0.1:8080 Hit CTRL-C to stop the server

  • http-server默认启动8080端口,如果被占用会自动更换端口。如果希望采用指定的端口,可通过-p参数配置。

注意事项:

  • 如果服务是通过cmd启动,需要注意避免进入命令行工具的选择模式;
  • 检查方式为cmd对话框的标题是否为 【选择XXXX】,如果以选择开头即为选择模式;
  • 此时会阻塞服务,需要在对话框中点击右键,退出选择模式。

b.服务启动完成后,可添加服务地址:

  • 如果为本机启动服务,地址为:http://127.0.0.1:8080/layer.json (注意修改端口号与实际服务一致);
  • 如果为局域网其他机器启动服务,地址中的 ip 需替换为局域网 ip;
  • 如果为公网机器服务,地址中的 ip 需替换为公网 ip;
  • 如果为内网启动对公网提供服务,可能需配合内网穿透服务。

c.点击【确定】,该图层即添加至项目中,可实时按需流式加载。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利