无人机斜影(倾斜摄影)数据(OSGB)转 Cesium 3dtile 数据归纳总结以及亲测可用示例
無人機斜影(傾斜攝影)數據(OSGB)轉 Cesium 3dtile 數據歸納總結以及親測可用示例
- 運行環境
- Cesium 加載 3dtile 數據,用來測試環境
- OSGB 數據下載
- OSGB 格式數據轉為 3dtile
- 工具和產品介紹
- OSGB 文件和元數據配置文件
- 親測可用工具以及過程
- 3dtile工具
- osg2cesiumApp.exe 工具,版本:1.13
- 試錯全過程
- 總結
- 在線示例
2023年4月19日更新—搞了一個 Cesium 鏡像,歡迎使用:沙盒示例 和 API
公司平臺需要展示離線 3dtile 數據,之前一直使用在線資源,后來嘗試加載本地發布的 3dtile 數據也沒問題。
考慮到以后實際中應用,一般為無人機拍攝的 斜影數據,基本都是 OSGB、OBJ 等類型,而公司平臺使用 Cesium 來加載 3dtile 數據,目前 Cesium 還不支持 OSGB、OBJ 等數據,因此需要將數據轉為 3dtile 格式。
經過幾乎一天的嘗試,走了眾多彎路 (PS:CSDN 真是互相抄啊),終于搞定,這里記錄一下過程問題,以及最終解決方案,為類似需求的廣大 GISer 節約時間。
本文內容包括:運行環境、Cesium 加載 3dtile 數據、OSGB 數據下載、OSGB 格式轉為 3dtile、試過全過程。
運行環境
操作系統:windows 10
Cesium版本:1.96
瀏覽器:谷歌
Tomcat:8.5
Java:1.8
Cesium 加載 3dtile 數據,用來測試環境
首先要確保環境和代碼沒問題,以下是測試資源以及在線示例:
測試資源: 大雁塔場景
在線示例:Cesium 在線加載 3dtile 場景
如果大雁塔場景可以加載,說明環境沒問題,則可以進行下一步。
嫌麻煩可以直接下載這個資源,可以直接解壓啟動訪問: Cesium 加載 3dtile 示例
OSGB 數據下載
首先是測試數據的獲取,經搜索,發現兩個神網站:
推薦使用第二個網站資源,很方便。
已下載數據展示:
OSGB 格式數據
3dtile 數據
此網站可以選擇下載 OBJ、3dtile、OSGB 三種格式,其中 3dtile 可以直接使用 Cesium 加載(可使用本文提供源碼測試),其他格式需要轉換才行。
本文主要是對 OSGB 的轉換。
OSGB 格式數據轉為 3dtile
本來以為,OSGB 格式轉 3dtile 應該是非常成熟的技術了,應該很快就可以搞好,結果幾乎把所有失敗都經歷了一遍,直到最后一刻才算是比較完美的解決了。
工具和產品介紹
嘗試的工具主要包括:Cesiumlab 2、OSGBLab 2、3dtile.exe、osg2cesiumApp.exe、Converter.exe
簡單總結一下(不排除因版本問題導致的偏見),后邊有專門試錯過程:
Cesiumlab 2 未知原因,轉換失敗,只生成了 tileset.json。
OSGBLab 2 可以轉換成功,速度也很快,但是有一些問題:一個是必須設置壓縮參數;另外,效果比較差,失真嚴重。
3dtile.exe,命令行執行,可以轉為 3dtile ,但是 Cesium 加載失敗。
osg2cesiumApp.exe 轉換失敗,或者轉換之后,模型加載顯示全白色。
更正一下:osg2cesiumApp.exe 1.3 轉換失敗;最新版 osg2cesiumApp.exe 1.13 轉換成功,加載也正常!
Converter.exe 轉換成功,但是坐標系不對,國內 坐標偏移到國外。
結論:經測試發現,新版 3dtile.exe 可以完美將 OSGB 格式轉 3dtile 格式,而且可以在 Cesium 中正常加載。
注意:舊版 3dtile.exe 轉換成功的 3dtile 文件,Cesium 加載會報錯,而且全網沒找到解決辦法。
錯誤信息:RuntimeError: Unsupported glTF Extension: KHR_technique_webgl。
OSGB 文件和元數據配置文件
本文 OSGB 文件結構:
必備元數據配置文件:metadata.xml
注意: metadata.xml 一般是跟 OSGB 一起生成的,如果沒有,可以在獲取 OSGB 數據的地方尋找一下。
筆者當時廢了半天勁,自己創建元數據配置文件,后來還出現各種問題,最后發現,原來在 OSGB 資源網站可以下載:
PS:如果實在沒有 metadata.xml,也可以手動創建,只不過最后的坐標可能會偏移!!!
親測可用工具以及過程
3dtile工具
2. 準備 OSGB 數據,按照上文目錄結構
4. 執行命令,生成 3dtile 格式數據
5. 將 3dtile 拷貝至 tomcat 中
6. 運行 tomcat(cesium頁面和3dtile需要在同一個tomcat下,否則會跨域),查看效果
osg2cesiumApp.exe 工具,版本:1.13
4. 啟動程序,選擇路徑,配置參數,生成 3dtile 格式數據
試錯全過程
返回數據
加載效果,失真比較嚴重:
錯誤:RuntimeError: Unsupported glTF Extension: KHR_technique_webgl。
經長時間搜索,全網幾乎都是同一個答案,親測無效,建議放棄!!!
osg2cesiumApp.exe 開始轉換失敗,后來可以轉換,但是 全是白色。
注意:osg2cesiumApp.exe 1.13 親測可以轉換成功!
Converter.exe 可以轉換,坐標系偏移很大,此時坐標在香港,但是實際坐標在北極圈附近。
總結
關鍵因素:
干擾因素:
3dtile 千萬不要下載錯版本。
舊版:
新版:
當然,也可以直接下載本文提供的工具。
避開過期博客。很多博客都是 2018年、2019年的,建議搜索的時候選擇近一年作為查詢條件。
在線示例
為了方便查看,文章結尾再加一次在線示例。
在線示例:Cesium 在線加載 3dtile 場景
PS: 下邊參考博客,很多過期資源,建議謹慎參考!!!
參考博客:
無人機傾斜攝影建模的五種常見文件格式OSGB
OSGB轉Cesium 3DTile并在瀏覽器中瀏覽
免費下載傾斜攝影實景三維數據的途徑
osgb(傾斜攝影數據)轉換為3dtitle工具分享
Cesium加載傾斜攝影數據
Cesium加載gltf報錯:RuntimeError: Unsupported glTF Extension: KHR
Cesium 3DTiles轉換工具
cesuim加載傾斜攝影OSGB三維數據完整過程(超詳細)
總結
以上是生活随笔為你收集整理的无人机斜影(倾斜摄影)数据(OSGB)转 Cesium 3dtile 数据归纳总结以及亲测可用示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: X站全称是什么_考不上高中上什么专业
- 下一篇: 从numpy掩码到pytorch掩码