根据指定的剖面线,输出剖面线与地形数据的表面高程沿某条线(截面)的变化,或剖面线所截的模型建筑物、地下管线等的轮廓线。并支持在剖面线图上进行量算和位置查询功能,支持将剖面图输出为图片数据保存,支持导出点数据集和高亮显示与剖面线相交的模型。该功能适用于地形数据和模型数据1。
广泛应用于工程选线、设施选址、管线布设、煤矿开采、土地利用规划等方面1,例如:
在Cesium中实现剖面分析比较简单,主要使用到这几个关键的接口,Cesium.Cartesian3.lerp,Cesium.EllipsoidGeodesic和Cesium.sampleTerrainMostDetailed。
一般流程如下:
支持模型的话,需要做一些改变,对于模型,其高度获取方式和地形有所不同,当然Cesium里也有相应的接口Cesium.Scene.sampleHeightMostDetailed,其余分析流程和地形剖面一样。不过有个值得注意的点,使用该接口时,Cesium会去请求高精度瓦片,如果数据源没有提供的话,就会报错,碰到此类问题可以考虑另一个接口——sampleHeight
,获取当前场景内的高度,但是获取到的高度可能不是最高精度(还没具体测试)。
阅读文档的时候发现场景对象其实提供了一个用于检测是否支持高度采样的接口sampleHeightSupported
,但经我实际测试,无法解决上述问题。