Cesium


Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

关于地形开挖


地形开挖就是在地形表面,开挖出一定范围的区域,用于显示地形下的场景,经常用于城市管网、地下沟渠,排污通道等地下设施,或者地下建筑等等。

效果图

Cesium专栏-地形开挖(附源码下载)-LMLPHP

需要提前预习的接口


地形开挖与基于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; // 开挖距离
05-11 17:29