cesium-控高分析

先看效果

截图

Kapture 2023-10-29 at 23.43.16

实例

思路

查阅网上文章得知实现控高分析涉及ClassificationPrimitive(不懂中文怎么翻译它,暂叫基元吧), CallbackProperty 这两个关键类,前者是一个分类基元,表示要在场景中突出显示的包围几何体的体积(分析中指定高度以外建筑的高亮效果)。后者是一个特殊属性,它的值由调用异步函数获取,可动态变化(在此分析中实现指定高度以内建筑高亮效果以及高度面变化)。

整理分析操作流程如下:

  • 绘制一个范围面。
  • 创建一个ClassificationPrimitive(基元)对象表示区域内高度超限,及两个几何面Entity (实体)对象,其中一个Entity设置为贴地且分类属性设置为3DTiles表示区域内高度不超限,另一个不贴地,表示高度面。
  • 修改高度,两个Entit拉伸高度以及基元位置同步变化。

难点

Entity实现拉伸高度变化比较容易,但ClassificationPrimitive位置动态变化无法借助CallbackProperty,而是直接修改位置矩阵,有个问题是,必须要给基元拉伸高度设置一个很高的高度值,以至于能够覆盖最高的建筑。

示例代码下载

控高分析 (wsh233.cn)

参考:

Cesium限高分析_cesium 限高分析-CSDN博客

Cesium中实现限高分析 - 槑的秘密基地 (liaomz.top)

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