Cesium
Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。
关于地形开挖
地形开挖就是在地形表面,开挖出一定范围的区域,用于显示地形下的场景,经常用于城市管网、地下沟渠,排污通道等地下设施,或者地下建筑等等。
效果图
需要提前预习的接口
地形开挖与基于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; // 开挖距离