cesium入門示例-矢量化單體分類


實現樓層的分層選擇和屬性信息展示,該功能基於大雁塔傾斜數據實現單體化分類顯示。

數據准備:

1、大雁塔傾斜數據,已轉換為3dTiles,參考cesium入門示例-3dTiles加載的第2節osgb數據展示;

2、大雁塔分層多邊形矢量圖層shp文件;

分層矢量數據包含每一層的最大最小高度,每一層都是重合的矩形,在QGIS中打開如下(選擇UTF-8編碼):

在cesiumlab中將shp圖層轉換為3dTiles,設置如下:

 

注意cesiumlab的版本為1.5.17,低版本的可能會有問題。

數據准備完畢后即可在前端cesium框架中加載顯示,加載代碼很簡單,如下:

 1 //西安大雁塔
 2 var dayantaTileset = new Cesium.Cesium3DTileset({
 3     url: './TestData/output/osgbtiles/tileset.json'
 4 })
 5 viewer.scene.primitives.add(dayantaTileset);
 6 //大雁塔矢量單體
 7 var classifytileset = new Cesium.Cesium3DTileset({
 8     url: './TestData/output/dayantaclassify/tileset.json',
 9     classificationType: Cesium.ClassificationType.CESIUM_3D_TILE
10 });
11 //注意這個顏色的設置
12 classifytileset.style = new Cesium.Cesium3DTileStyle({
13     color: 'rgba(255, 0, 0, 0.5)'//,增加要素選擇效果后,將原始顏色透明度調到幾乎看不到,改為'rgba(255, 0, 0, 0.01)'
14 }); 15 viewer.scene.primitives.add(classifytileset);

 然后增加分層選擇效果,選擇顯示屬性信息通過偵聽鼠標MOVE和LEFT_CLICK事件,查詢要素獲得,具體代碼參照cesium入門示例-3dTiles加載的3節。最終效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM