cesium实现获取3D tiles中所有feature数据信息

本文介绍了如何在Cesium中监听3D Tiles瓦片加载完成事件,并通过Cesium3DTileContent获取每个瓦片的内容及特征信息。详细阐述了实现思路,包括使用`tileLoad`事件、`content`属性和`getFeature`方法,以获取和打印瓦片中的要素数量及第一个要素的详细信息。通过这段代码,开发者可以深入理解Cesium 3D Tiles的数据结构并进行自定义操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Cesium实战系列文章总目录传送门

1.实现效果

在这里插入图片描述

2.实现方法

2.1实现思路

(1)监听瓦片加载完成
使用Cesium3DTileset类中的tileLoad方法,API:传送门
在这里插入图片描述(2)获取content
使用tile类的content属性进行获取,API:传送门
在这里插入图片描述

(3)获取要素信息
使用Cesium3DTileContent类的getFeature方法,遍历获取当前瓦片中的所有要素。
API:传送门
在这里插入图片描述

2.2具体代码

获取3D tiles中所有feature数据信息的代码如下,可以根据feature的方法进一步筛选获取属性值等数据。

 // 获取3D tiles中所有feature的数据
 let tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
     url: '.././data/sz/tileset.json'
 }));
 viewer.zoomTo(tileset);
 // 设置瓦片加载完成监听事件
 tileset.tileLoad.addEventListener(function(tile) {
     let content = tile.content;
     let featuresLength = content.featuresLength;
     console.log("要素数量为:");
     console.log(featuresLength);
     console.log("第一个要素为:");
     let feature = content.getFeature(0);
     console.log(feature);
 })
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右弦GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值