cesium本地加载dem数据,首先需要下载地区的高程数据,一般通常在地理空间数据云里面下载:http://www.gscloud.cn/
这里一般可以下载到90m和30m精度的数据,当然也可以用自己的数据。
下载好数据之后,需要去处理一下,将tif格式转换为.terrain格式,这里推荐使用cesiumlab这个软件,操作很方便,也是免费的。
具体操作里面有教程,上手很快,处理好数据后,需要将数据进行发布。点击cesiumlab上面的分发服务,软件会发布数据并分配一个url地址,只需在下面代码的创建new Cesium.CesiumTerrainProvider类里面的url地址替换了,即可将数据加载出来。
如果不想用这个软件发布的地址,也可以使用tomcat,使用也不难(要求配置了jdk),下载好之后,点击tomcat文件夹bin目录里面的startup.bat即可启动服务,启动服务之后,浏览器输入localhost:8080即可看到tomcat服务首界面。
这时,我们将之前处理好的数据,放到tomcat文件夹里面的webapps\ROOT目录下面,即可。
后面就可以调用地形数据,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="./Build/Cesium/Cesium.js"></script>
<link href="./Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
<div id="cesiumContainer" style="width: 100%;height: 100%;"></div>
<script>
var viewer = new Cesium.Viewer('cesiumContainer');
var terrainProvider = new Cesium.CesiumTerrainProvider({
url: 'http://localhost:9000/terrain/010e5b70177611ebb10923d2737bffde'
});
viewer.terrainProvider = terrainProvider;
</script>
</body>
</html>
解决tomcat(自行百度)之后,将new Cesium.CesiumTerrainProvider类中的url替换之后,即可加载出来地形数据