SuperMap iClient3D for WebGL教程(地形篇)-地形数据生产
作者:为梦齐舞
本文同步更新于简书文章https://www.jianshu.com/p/8df809ee93cb
在介绍WebGL地形前,我们先来介绍下地形数据的处理,我们这知道WebGL加载的地形数据都是.terrain或者是.terrainz格式的,我们拿到的地形数据一般都是.tif或.img格式。那么我们如何处理数据才能供WebGL所用呢,接下来我们详细讲解下
一、获取数据
这里我们介绍一个数据下载的网站地理空间数据云(http://www.gscloud.cn)里面可以下载到免费的遥感影像和地形数据,但是分辨率不是很高,地形影像最高30米的分辨率,这个数据做演示或实验是足够的,如果需要更高经度的数据就需要付费了。我们可以选择高级检索,选择我们需要的卫星产品,在地图中绘制目标区域进行数据检索,然后就可以下载所需的地形数据了
选中检索结果的某一行,还可以在地图上高亮,能知道该张数据的地理位置
二、下载的数据
我们下载数据后,直接进行解压,即可看到数据目录如下图,里面有两个文件,一个dem.tif一个num.tif,我们使用dem.tif数据即可
三、地形数据处理
对于下载的数据,我们可以使用SuperMap iDesktop .NET打开或者新建一个udb数据源,将dem.tif导入到数据源中,导入时数据集类型选择栅格
对于下载的多幅tif的情况,我们可以使用SuperMap iDesktop .NET中的栅格数据集镶嵌功能,将多张栅格合并为一个整体
四、生成缓存
通过步骤三处理好的dem地形数据,我们可以在数据源中选中对应的栅格数据右键,选择生成缓存,将弹出生成场景缓存功能界面,我们选择缓存类型为Tin地形,勾选带法线,点击生成即可生成缓存,供后续WebGL来进行调用。
1、块大小是一个tile的分割大小,此处一般默认,希望地形分块更小可以选择32*32分分块
2、开始层和结束层是根据dem的分辨率,自动计算的,结束层只能改小,不能改大。
3、精细层误差这里可以进行修改,是生成Tin地形和原始数据的误差范围,值越小越和原始数据匹配,但是相应的生成缓存时间将会更长。
4、为什么要勾选带法线,是为了能够支持光照的效果及坡度坡向分析,我们会在后面的文章讲解到,此处先默认勾选上。
五、地形数据发布
我们将地形添加到场景中,保存工作空间,保存场景后,到SuperMap iServer中发布服务即可。