Cesium 剖面分析
根据指定的剖面线,输出剖面线与地形数据的表面高程沿某条线(截面)的变化,或剖面线所截的模型建筑物、地下管线等的轮廓线。并支持在剖面线图上进行量算和位置查询功能,支持将剖面图输出为图片数据保存,支持导出点数据集和高亮显示与剖面线相交的模型。该功能适用于地形数据和模型数据[1]。
广泛应用于工程选线、设施选址、管线布设、煤矿开采、土地利用规划等方面[1:1],例如:
- 通过剖面分析功能输出地下管线剖面图,通过距离量算功能量算管线直径。
- 剖面分析可应用于评估道路修建的难度,或对沿指定路径铺设铁路线的可行性进行评估。
在Cesium中实现剖面分析比较简单,主要使用到这几个关键的接口,Cesium.Cartesian3.lerp,Cesium.EllipsoidGeodesic和Cesium.sampleTerrainMostDetailed。
针对地形
一般流程如下:
- 绘制剖面线
- 对剖面线进行线性内插,生成一系列插值点
- 获取插值点对应的地形高度以及前后点之间到距离
- 生成图表
针对模型
支持模型的话,需要做一些改变,对于模型,其高度获取方式和地形有所不同,当然Cesium里也有相应的接口Cesium.Scene.sampleHeightMostDetailed,其余分析流程和地形剖面一样。不过有个值得注意的点,使用该接口时,Cesium会去请求高精度瓦片,如果数据源没有提供的话,就会报错,碰到此类问题可以考虑另一个接口——sampleHeight
,获取当前场景内的高度,但是获取到的高度可能不是最高精度(还没具体测试)。
阅读文档的时候发现场景对象其实提供了一个用于检测是否支持高度采样的接口sampleHeightSupported
,但经我实际测试,无法解决上述问题。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验