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

文章目录

    • 1.实现效果
    • 2.实现方法
      • 2.1实现思路
      • 2.2具体代码

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

1.实现效果

cesium实现获取3D tiles中所有feature数据信息_第1张图片

2.实现方法

2.1实现思路

(1)监听瓦片加载完成
使用Cesium3DTileset类中的tileLoad方法,API:传送门
cesium实现获取3D tiles中所有feature数据信息_第2张图片(2)获取content
使用tile类的content属性进行获取,API:传送门
cesium实现获取3D tiles中所有feature数据信息_第3张图片

(3)获取要素信息
使用Cesium3DTileContent类的getFeature方法,遍历获取当前瓦片中的所有要素。
API:传送门
cesium实现获取3D tiles中所有feature数据信息_第4张图片

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);
 })

你可能感兴趣的:(cesium,gis,cesium,前端)