Cesium地形数据下载、转换与使用
一、 Cesium地形数据简介
Cesium 中的地形系统是一种由流式瓦片数据生成地形的技术。cesiumjs 支持两种类型的地形:STK World Terrain 和 Small Terrain。
STK World Terrain 是高分辨率, 基于 quantized mesh 的地形。这是一种基于 TIN 三角网的地形,可充分利用 GL 中的 Shader 来渲染,效果相当逼真。STK World Terrain 使用了多种数据源,分别适应不同地区和不同精度时的情形。STK World Terrain 地形是怎样生成的是不公开的,如需应用于封闭的局域网时,则需购买 AGI 的 STK terrain server。但是 AGI 提供了一个 webapi 可供因特网上调用,并提供了这种地形的格式细节.
Small Terrain 是中等高分辨率,基于 heightmap 的地形,渲染出的地形效果不如 quantized mesh 的地形,但也基本能接受。网上已经有一些开源的生成工具可以由 DEM 数据生成这种规范的.terrain 文件,因此我们下面重点说明这种类型的地形生成。
二、原始地形数据下载
DEM下载地址:http://www.gscloud.cn/
如图: 1.点击 高级检索
2.点击 数据集–-> DEM数字高程数据–-> GDEMV2 30M 分辨率数字高程数据
3.行政区 内选择自己需要的下载的区域,这里下载的是深圳市的地形数据
4.点击 搜索
如下图,搜索结果显示深圳市由两块地形数据拼接而成,所以我们需要将两块数据全部下载:
解压后的内容如下图,而我们需要使用到的是带有“dem”标识的tif文件(像深圳市由多个地形数据拼接成的我们需要取出每个zip包内带有“dem”标识的tif文件,否则数据展示不全):
三、原始地形数据转换
安装cesiumlab.exe 资源路径:https://www.cesiumlab.com/
如上两张图。打开cesiumlab软件,点击 地形数据 后,添加要转换的tif文件:
- 点击添加按钮,添加下载好的tif文件,如有多个就多次添加
- 选择散列文件, 自定义输出文件位置, 三角算法选择 ctb
- GZIP压缩选择否,(选择是没有试过,不知到会生成什么)
生成好的文件如下图(就算是多个tif文件,cesiumlab软件也会将它们按顺序都转换到指定的文件内)
四、地形数据发布
1.把 terrain_tiles_SZ 整个文件夹直接放到与 Cesium 同端口的 Tomcat 或 IIS 站点下(不能跨域),即可发布服务
2.项目引用,如下图:
具体代码如下:
演示效果,如下图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190627110739671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NxNTkzODEzOTk2,size_16,color_FFFFFF,t_70) 五、备注 如图,ASTGTM2_N22E113.zip与ASTGTM2_N22E114.zip为从地理空间数据云上下载好的原始数据。 cesiumlab1.5.17.exe为地形数据转换工具的应用程序。 terrain_tiles_SZ.rar为转换后的可在cesium内使用的地形数据。