千家信息网

Cesium开发中如何模拟建筑楼板数据

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要介绍Cesium开发中如何模拟建筑楼板数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!多层的建筑体,在不需要精确的模型效果时,使用Cesium的Polygon去模
千家信息网最后更新 2024年11月22日Cesium开发中如何模拟建筑楼板数据

这篇文章主要介绍Cesium开发中如何模拟建筑楼板数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

多层的建筑体,在不需要精确的模型效果时,使用Cesium的Polygon去模拟每层楼的楼板效果,设定每层楼的高度和楼层的总数,生成CZML文件,批量加载楼板的数据。
根据Cesium的api,加载一个带高度拉起效果的polygon,使用以下的代码:

var greenPolygon = viewer.entities.add({

name : 'Green extruded polygon',

polygon : {

hierarchy : Cesium.Cartesian3.fromDegreesArray([-108.0, 42.0,

-100.0, 42.0,

-104.0, 40.0]),

height:50000,

extrudedHeight: 100000.0,

material : Cesium.Color.GREEN

}

});

其中设置的 height和 extrudedHeight是关键参数,height标示polygon离地的高度,extrudedHeight是polygon的拉高高度,根据楼层高度,设置每层的height,在加上楼层高度,设置 extrudedHeight,到达分层的楼板效果。
CZML数据节点的编辑如下:

{

"id":"floor_0",

"name":"floors"

,"polygon":

{"positions":

{"cartographicDegrees":[坐标数组]},

"material":

{

"solidColor":

{"color":

{"rgba":[255,255,255,120]}

}

},

//离地高度设置

"height":0,

//拉高高度设置

"extrudedHeight":4.6,"

outline":true}

}

使用js或者其他代码,循环根据楼层数和高度进行遍历,生成最终的CZML数据。

以下是简单楼板显示效果,加上鼠标移动时的选中效果:


以上是"Cesium开发中如何模拟建筑楼板数据"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0