🗓️ 2023-10-21 🏷️ #GIS相关#

目录

    • 先看效果
      • 截图
      • 实例
    • 思路
    • 难点
    • 示例代码下载
    • 参考:

[TOC]

先看效果

截图

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)