cesium-加载点云数据
生活随笔
收集整理的這篇文章主要介紹了
cesium-加载点云数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cesium-加載點云數據
點云數據介紹
點云數據(point cloud data)是指在一個三維坐標系統中的一組向量的集合。
掃描資料以點的形式記錄,每一個點包含有三維坐標,有些可能含有顏色信息(RGB)或反射強度信息(Intensity)。
點云數據除了具有幾何位置以外,有的還有顏色信息。顏色信息通常是通過相機獲取彩色影像,然后將對應位置的像素的顏色信息(RGB)賦予點云中對應的點。強度信息的獲取是激光掃描儀接收裝置采集到的回波強度,此強度信息與目標的表面材質、粗糙度、入射角方向,以及儀器的發射能量,激光波長有關。
cesium加載點云數據
- 使用cloudCompare處理數據,另存為las數據
- cesiumlab只能處理las的點云數據,因此需要將其他格式的點云數據轉換成las格式
- 使用cesiumlab將點云數據切片成3dTiles數據,并發布
- cesium使用切片點云數據
完整代碼
<!DOCTYPE html> <html lang="en"> <head><!-- Use correct character set. --><meta charset="utf-8"/><!-- Tell IE to use the latest, best version. --><meta http-equiv="X-UA-Compatible" content="IE=edge"/><!-- Make the application on mobile take up the full browser screen and disable user scaling. --><meta name="viewport"content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/><title>cesium加載點云數據</title><script src="../lib/Cesium-1.78/Build/Cesium/Cesium.js"></script><style>@import url(../lib/Cesium-1.78/Build/Cesium/Widgets/widgets.css);html,body,#cesiumContainer {width: 100%;height: 100%;margin: 0;padding: 0;overflow: hidden;}</style> </head> <body> <div id="cesiumContainer"></div> <script>//天地圖tokenlet TDT_tk = "token";//Cesium tokenlet cesium_tk = "ecesium token";//天地圖影像let TDT_IMG_C = "http://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=img&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default&format=tiles&tk=" + TDT_tk;//標注let TDT_CIA_C = "http://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default&format=tiles&tk=" + TDT_tk;//初始頁面加載Cesium.Ion.defaultAccessToken = cesium_tk;let viewer = new Cesium.Viewer('cesiumContainer', {geocoder: false, // 位置查找工具baseLayerPicker: false,// 圖層選擇器(地形影像服務)timeline: false, // 底部時間線homeButton: false,// 視角返回初始位置fullscreenButton: false, // 全屏animation: false, // 左下角儀表盤(動畫器件)sceneModePicker: false,// 選擇視角的模式(球體、平鋪、斜視平鋪)navigationHelpButton: false, //導航幫助按鈕imageryProvider: new Cesium.WebMapTileServiceImageryProvider({url: TDT_IMG_C,layer: "tdtImg_c",style: "default",format: "tiles",tileMatrixSetID: "c",subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],tilingScheme: new Cesium.GeographicTilingScheme(),tileMatrixLabels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"],maximumLevel: 50,show: false})});//調用影響中文注記服務viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: TDT_CIA_C,layer: "tdtImg_c",style: "default",format: "tiles",tileMatrixSetID: "c",subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],tilingScheme: new Cesium.GeographicTilingScheme(),tileMatrixLabels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"],maximumLevel: 50,show: false}))// 去除版權信息viewer._cesiumWidget._creditContainer.style.display = "none";// cesium加載代碼let tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: '../data/point/demo01/tileset.json',modelMatrix: Cesium.Matrix4.fromArray([0.8552283504631701,-0.2967752313214851,0.42486342586544634,0,0.2551799488400847,0.9546798336592429,0.1531979403070799,0,-0.45107389890572935,-0.0226025945068119,0.892200347706469,0,-11154.08899100963,-2844.983343217522,127.76873376127332,1]),}));viewer.flyTo(tileset); </script></body> </html>實現效果
總結
以上是生活随笔為你收集整理的cesium-加载点云数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scala学习-类与对象
- 下一篇: ios 异常捕获