最近工作中遇到了Cesium,并且对Cesium加载三维地形数据做了一下简单的了解,并把其中的学习过程总结如下:
- 地形数据
对于数据我们有多种方式的获取来源,如:地图数据下载工具获取水经注或Bigemap GIS Office,地理空间数据云http://www.gscloud.cn/search。这里我们是获取地理空间数据云的DEM数据。
- 地形数据处理
下载下来的数据是有很多的tif文件,需要进一步处理合成一个文件。这里使用的是arcmap(因为本人对arcgis的软件使用比较熟悉)。
将tif文件拖动到工作区
【数据管理工具】-【栅格】-【栅格数据集】-【镶嵌至新栅格】数据集合并数据
地理处理工具-裁切,找一个需要裁切的地区矢量图作为裁切依据,数据进行裁切。
- Cesiumlab2
将处理后的地形高程数据在Cesiumlab2处理,并将处理结果保存到Tomcat的webapps下。
- Tomcat发布
Tomcat启动后会有Cros的问题,需要将tomcat重新配置后再启动。
- Vue开发
- Cesium文件拷贝到public下
- Index.html
<link href="./CesiumUnminified/Widgets/widgets.css" rel="stylesheet">
<script src="./CesiumUnminified/Cesium.js"></script>
- .vue开发
<template>
<div id="cesiumContainer"></div>
</template>
var viewer = new Cesium.Viewer('cesiumContainer')
var terrainProvider=new Cesium.CesiumTerrainProvider({
url : 'http://localhost:8088/sjz', // Tomcat中发布的地形处理后的数据
requestVertexNormals: true,
requestWaterMask: true
})
viewer.terrainProvider=terrainProvider
viewer.scene.globe.enableLighting = false
地形处理的其他方式:
Global Mapper软件工具,将影像数据和高程数据在Global Mapper中处理后的tif文件在arcmap中打开,并对影像数据的属性中高程参考做设置,生成新的地形数据文件。