Cesium 3DTiles轉(zhuǎn)換工具

Cesium 3DTiles轉(zhuǎn)換工具

  1. 開源地址:https://github.com/scially/Cesium3DTilesConverter , 提供Windows下的編譯exe下載捏悬。

  2. 整體參考https://github.com/fanvanzh/3dtiles, 向作者致敬,市面上唯一的開源好用的3DTILES轉(zhuǎn)換工具艾少,在學(xué)習(xí)過程中传于,從中收獲很多寸莫,對3DTiles尝胆、OSGB、GLTF等數(shù)據(jù)格式有了進(jìn)一步了解讼撒。

  3. 原工程基于C++燎窘、C和Rust摹闽,本人本身對Rust不了解,但是學(xué)習(xí)過程中難免涉及到調(diào)試褐健,也看了整個代碼付鹿,個人理解作者采用Rust和C++混編應(yīng)該是兩個問題:

    1. OpenSceneGraph沒有除了C++之外其他版本,而且我們在用這個工具時,最主要的就是OSGB轉(zhuǎn)3DTILES
    2. 本身C++可以跨平臺倘屹,但是C++對字符串银亲、文件系統(tǒng)支持不夠好,Rust可以很好滿足這一點(diǎn)纽匙,并且Rust也便于和C++交互
    3. 綜合下來务蝠,原作者使用了Rust和C++來編寫,一是保證跨平臺烛缔,二是保證了性能馏段。
  4. 本人本身是對Qt比較熟悉的,就萌生了這個想法践瓷,用C++和Qt院喜,從新梳理整個框架,剛好今年春節(jié)一個人晕翠,秉著學(xué)習(xí)想法喷舀,使用純C++(加了Qt)重寫了該工程,新的工程基于C++ 17標(biāo)準(zhǔn)重寫淋肾,使用了Qt5.15硫麻,主要作者本身寫C++大部分時候都是基于Qt,對Qt也稍微了解樊卓,同時也借助Qt很好的跨平臺特性拿愧,性能沒有變化,并且也便于調(diào)試學(xué)習(xí)碌尔。

    1. 整個工程開源浇辜,但是鑒于Qt一些限制,該程序采用LGPL協(xié)議唾戚。
    2. 后續(xù)會與作者同步保持更新柳洋,后期希望可以加入自己一些特色功能。

Download Windows Pre-build

簡介

3DTiles 轉(zhuǎn)換工具集, 快速將OSGB颈走、Shp膳灶、GDB等格式轉(zhuǎn)為Cesium 3DTiles, 方便搭建三維平臺咱士。

這是一個基于c++ 17 和 Qt5.15 項目立由。

提供了如下的子工具:

  • OSGB(OpenSceneGraph Binary) 轉(zhuǎn) 3DTiles
  • Esri Shapefile 轉(zhuǎn) 3DTiles

用法說明

命令行格式

Converter.exe --format <FORMAT> --input <INPUT> --output <OUTPUT> [OPTIONS] 

示例命令

# from osgb dataset
Converter.exe --format osgb -input E:\osgb_path -o E:\out_path

# from single shp file
Converter.exe --format gdal --input <Shapefile Path> --output <DIR>  --field height --layer <Shapefile Name>

# from gdb file
Converter.exe --format gdal --input <GDB Path> --output <DIR>  --field height --layer <Layer Name>

參數(shù)說明

  • -f, --format <FORMAT> 輸入數(shù)據(jù)格式。

    FORMAT 可選:OSGB, GDAL

    可選:OSGB 為傾斜攝影格式數(shù)據(jù), GDAL 為GDAL支持的面(Polygon)數(shù)據(jù)

  • --input <PATH> 輸入數(shù)據(jù)的目錄序厉,osgb數(shù)據(jù)截止到 <DIR>/Data 目錄的上一級锐膜,GDAL參考GDAL數(shù)據(jù)格式。

  • --output <DIR> 輸出目錄弛房。OSGB轉(zhuǎn)換的3DTiles輸出的數(shù)據(jù)文件位于 <DIR>/Data 目錄, GDAL轉(zhuǎn)換的3DTiles輸出的數(shù)據(jù)文件位于<DIR>/Tile目錄道盏,tileset.json位于<DIR>根目錄。

  • --field 高度字段。指定GDAL數(shù)據(jù)集中的高度屬性字段荷逞,此項為轉(zhuǎn)換 GDAL 時的必須參數(shù)媒咳。

  • --offset OSGB高度偏移字段。

數(shù)據(jù)要求及說明

傾斜攝影數(shù)據(jù)

傾斜攝影數(shù)據(jù)僅支持 smart3d 格式的 osgb 組織方式:

  • 數(shù)據(jù)目錄必須有一個 Data 目錄的總?cè)肟冢?/li>
  • Data 目錄同級放置一個 metadata.xml 文件用來記錄模型的位置信息种远;
  • 每個瓦片目錄下涩澡,必須有個和目錄名同名的 osgb 文件,否則無法識別根節(jié)點(diǎn)坠敷;

正確的目錄結(jié)構(gòu)示意:

- Your-data-folder
  ├ metadata.xml
  └ Data/Tile_000_000/Tile_000_000.osgb

GDAL

目前僅支持GDAL格式的面數(shù)據(jù)妙同,可用于建筑物輪廓批量生成3DTiles.

圖層中需要有字段來表示高度信息。

How To Build (Windows)

  1. vcpkg install "osg" "osg[plugins]"
  2. 如果沒有Qt5.15膝迎,可以通過以下兩種方式安裝:
    1. 通過Qt官網(wǎng)安裝
    2. vcpkg install "qt5[all]"
  3. VS2019選擇CMakeLists.txt粥帚,導(dǎo)入工程,編譯
  4. 把OSGPlugins文件夾復(fù)制到編譯目錄下

About Author

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末限次,一起剝皮案震驚了整個濱河市芒涡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卖漫,老刑警劉巖拖陆,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異懊亡,居然都是意外死亡依啰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門店枣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來速警,“玉大人,你說我怎么就攤上這事鸯两∶凭桑” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵钧唐,是天一觀的道長忙灼。 經(jīng)常有香客問我,道長钝侠,這世上最難降的妖魔是什么该园? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮帅韧,結(jié)果婚禮上里初,老公的妹妹穿的比我還像新娘。我一直安慰自己忽舟,他們只是感情好双妨,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布淮阐。 她就那樣靜靜地躺著,像睡著了一般刁品。 火紅的嫁衣襯著肌膚如雪泣特。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天挑随,我揣著相機(jī)與錄音群扶,去河邊找鬼。 笑死镀裤,一個胖子當(dāng)著我的面吹牛竞阐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暑劝,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼骆莹,長吁一口氣:“原來是場噩夢啊……” “哼彬向!你這毒婦竟也來了莺禁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤奕翔,失蹤者是張志新(化名)和其女友劉穎傅联,沒想到半個月后先改,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蒸走,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年仇奶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比驻。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡该溯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出别惦,到底是詐尸還是另有隱情狈茉,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布掸掸,位于F島的核電站氯庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏扰付。R本人自食惡果不足惜堤撵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悯周。 院中可真熱鬧粒督,春花似錦陪竿、人聲如沸禽翼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闰挡。三九已至锐墙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間长酗,已是汗流浹背溪北。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夺脾,地道東北人之拨。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像咧叭,于是被迫代替她去往敵國和親蚀乔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容