Cesium 剖面分析

根据指定的剖面线,输出剖面线与地形数据的表面高程沿某条线(截面)的变化,或剖面线所截的模型建筑物、地下管线等的轮廓线。并支持在剖面线图上进行量算和位置查询功能,支持将剖面图输出为图片数据保存,支持导出点数据集和高亮显示与剖面线相交的模型。该功能适用于地形数据和模型数据

广泛应用于工程选线、设施选址、管线布设、煤矿开采、土地利用规划等方面,例如:

  • 通过剖面分析功能输出地下管线剖面图,通过距离量算功能量算管线直径。
  • 剖面分析可应用于评估道路修建的难度,或对沿指定路径铺设铁路线的可行性进行评估。

在Cesium中实现剖面分析比较简单,主要使用到这几个关键的接口,Cesium.Cartesian3.lerpCesium.EllipsoidGeodesicCesium.sampleTerrainMostDetailed

针对地形

一般流程如下:

  • 绘制剖面线
  • 对剖面线进行线性内插,生成一系列插值点
  • 获取插值点对应的地形高度以及前后点之间到距离
  • 生成图表

image-20241117181002259

image-20241117180936101

生成的示例效果,在查看图表的时候场景中高亮插值点的位置

针对模型

支持模型的话,需要做一些改变,对于模型,其高度获取方式和地形有所不同,当然Cesium里也有相应的接口Cesium.Scene.sampleHeightMostDetailed,其余分析流程和地形剖面一样。不过有个值得注意的点,使用该接口时,Cesium会去请求高精度瓦片,如果数据源没有提供的话,就会报错,碰到此类问题可以考虑另一个接口——sampleHeight,获取当前场景内的高度,但是获取到的高度可能不是最高精度(还没具体测试)。

阅读文档的时候发现场景对象其实提供了一个用于检测是否支持高度采样的接口sampleHeightSupported ,但经我实际测试,无法解决上述问题。

image-20241117181956117

image-20241117181556438


  1. https://help.supermap.com/iDesktop/zh/tutorial/SceneOperation/RealspaceSpatialAnalyst/ProfileAnalyst ↩︎ ↩︎

posted on   ShihanW  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示