![146e872fcd0ed5125d4e78a6eb4a80f7.png](https://i-blog.csdnimg.cn/blog_migrate/bc1bd938e9f6a48f654bf788da7eca0b.jpeg)
Cesium
Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。
关于地形开挖
地形开挖就是在地形表面,开挖出一定范围的区域,用于显示地形下的场景,经常用于城市管网、地下沟渠,排污通道等地下设施,或者地下建筑等等。
效果图
![9c7269cea947278d025d63f0ebb7a108.png](https://i-blog.csdnimg.cn/blog_migrate/1922d5c27e571bf3298782e61d455972.jpeg)
需要提前预习的接口
地形开挖与基于3dtiles模型的裁剪效果所使用的接口是一致的,只是使用方式不一样。依然是这几个接口。
- ClippingPlaneCollection
- ClippingPlane
- Globe
具体操作
1、初始化地球,并开启深度测试
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider: new Cesium.UrlTemplateImageryProvider({
url: 'http://www.google.cn/maps/vt?lyrs=s@716&x={x}&y={y}&z={z}'
}),
terrainProvider: Cesium.createWorldTerrain({
requestVertexNormals: true,
requestWaterMask: true
})
});
viewer.scene.globe.depthTestAgainstTerrain = true;
2、指定开挖位置,并设置开挖距离
var position = Cesium.Cartographic.toCartesian(new Cesium.Cartographic.fromDegrees(-113.2665534, 36.0939345, 100));
var distance = -3000.0; // 开挖距离
完整demo源码见小专栏文章尾部:
Cesium专栏-地形开挖(附源码下载) - 小专栏xiaozhuanlan.com![1eb59afbc6913ab1e02eea782491bd44.png](https://i-blog.csdnimg.cn/blog_migrate/7cce60b7d9d209a1708dcd51067bc6ce.png)
文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波
GIS之家店铺:GIS之家
GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询