一、背景
2005年谷歌地球橫空出世,將地球以三維可視化方式展現(xiàn)在每一個(gè)電腦屏幕前的用戶,掀起了數(shù)字地球熱潮,而隨著三維傾斜攝影模型數(shù)據(jù)的加入,將谷歌地球?qū)θ虻娜S可視化效果表達(dá),提升到了更高的層次。作為全球三維傾斜攝影覆蓋面積最廣的三維數(shù)字地球平臺(tái),谷歌地球?yàn)榇蠹姨峁┝巳蚋鞯氐某鞘?、森林、火山等各種地理要素的三維可視化表達(dá),同時(shí)結(jié)合當(dāng)今VR、AR平臺(tái)創(chuàng)建游戲等真實(shí)場(chǎng)景,數(shù)據(jù)可視化更加立體和真實(shí)。Cesium作為開(kāi)源的三維數(shù)字地球平臺(tái),將重點(diǎn)放在地理信息數(shù)據(jù)的接入與可視化,用戶只需要關(guān)注上層業(yè)務(wù)開(kāi)發(fā),同時(shí)擴(kuò)展“端”的表現(xiàn)形式,將Cesium與JavaScript前端、以及Unity、Unreal等游戲引擎結(jié)合,形成了當(dāng)今開(kāi)發(fā)者使用最廣泛的開(kāi)源三維數(shù)字地球平臺(tái)。Cesium與谷歌地球的結(jié)合,源于2023年5月,谷歌官方將google傾斜攝影模型數(shù)據(jù)轉(zhuǎn)換成Cesium能夠接入的3DTiles格式,并在Google Map Platforms平臺(tái)發(fā)布,用戶可以通過(guò)GEE平臺(tái),生成數(shù)據(jù)調(diào)用API。2023年10月,兩者的結(jié)合更進(jìn)一步,谷歌傾斜攝影3DTiles數(shù)據(jù)集成到Cesium ion中,開(kāi)發(fā)者只需要通過(guò)Cesium ion便可以訪問(wèn)谷歌全部共計(jì)49個(gè)國(guó)家2500多個(gè)城市的數(shù)據(jù),大大方便了開(kāi)發(fā)者對(duì)數(shù)據(jù)的使用。
但是對(duì)國(guó)內(nèi)開(kāi)發(fā)者來(lái)說(shuō),由于網(wǎng)絡(luò)問(wèn)題,開(kāi)發(fā)者想訪問(wèn)這份數(shù)據(jù)是比較困難的,加上國(guó)內(nèi)使用Cesium的場(chǎng)景大部分都是離線環(huán)境下,這份數(shù)據(jù)離國(guó)內(nèi)開(kāi)發(fā)者還比較遙遠(yuǎn),國(guó)內(nèi)開(kāi)發(fā)者為了獲取這份數(shù)據(jù),付出了不少努力。
二、技術(shù)路線
谷歌傾斜攝影模型數(shù)據(jù)使用二進(jìn)制進(jìn)行編碼,想要逆向轉(zhuǎn)換,難度極大,但是國(guó)人的智慧是無(wú)窮的,主要技術(shù)路線如下:
1.既然無(wú)法逆向轉(zhuǎn)換,那直接使用谷歌官方的程序解析文件,用幀緩存渲染工具保存成模型文件,再通過(guò)模型工具進(jìn)行模型合并,這樣就能獲取一份面積很大的數(shù)據(jù),再通過(guò)obj轉(zhuǎn)3dtiles工具進(jìn)行3DTiles數(shù)據(jù)生成。這種技術(shù)原理在CSDN上有開(kāi)發(fā)者已經(jīng)實(shí)現(xiàn),大家可以搜索相關(guān)文章查看,具體原理大致如下:使用專門下載工具下載文件,并且結(jié)合圖形開(kāi)發(fā)調(diào)試神器RenderDoc以及Blender模型建模軟件,直接將當(dāng)前相機(jī)視景中的瓦片文件合并導(dǎo)出成一個(gè)obj或者fbx文件,再通過(guò)Blender進(jìn)行模型合并成一個(gè)大的模型文件,最后使用obj生成3DTiles瓦片數(shù)據(jù)。這種技術(shù)路線直接,但是很繁瑣,因?yàn)橐@取高分辨率數(shù)據(jù),需要不停移動(dòng)場(chǎng)景,再通過(guò)工具生成模型,獲取一屏數(shù)據(jù)還好,如果是獲取整個(gè)大范圍,每一屏都需要人工干預(yù),非常耗費(fèi)人工,而且要按照谷歌建立22層級(jí)LOD,很困難。這不禁讓人想起之前獲取谷歌影像數(shù)據(jù)的方法,當(dāng)時(shí)也是按照IP限流,下載到指定數(shù)量后,IP就被谷歌官方封禁了,有人想出了奇招,獲取當(dāng)前窗口像素寬高和地理范圍大小,再通過(guò)自動(dòng)平移地圖,對(duì)當(dāng)前窗口進(jìn)行截屏,這樣就獲取了當(dāng)前窗口屏幕地理范圍大小范圍的影像,再進(jìn)行瓦片切分,生成影像瓦片數(shù)據(jù)。
2.既然谷歌已經(jīng)生成3DTiles數(shù)據(jù),那直接把這份數(shù)據(jù)爬下來(lái)不就行了,很可惜,這份數(shù)據(jù)是按訪問(wèn)次數(shù)收費(fèi)的,想全部爬下來(lái),花的錢也不少,但是Cesium ion已經(jīng)集成了這份數(shù)據(jù),可以通過(guò)這個(gè)平臺(tái)進(jìn)行爬取,這種方式好處很直接能夠下載直接用,壞處是谷歌地球傾斜模型數(shù)據(jù)一年至少更新6、7次,數(shù)據(jù)更新時(shí),無(wú)法及時(shí)獲得最新的3DTiles數(shù)據(jù)。。
2.有沒(méi)有可能不借助RenderDoc,Blender等人工工具干預(yù),直接解析谷歌最新原始瓦片數(shù)據(jù),生成3DTiles數(shù)據(jù)呢,谷歌數(shù)據(jù)雖然是二進(jìn)制數(shù)據(jù),但是解析后也是Mesh格式,很多格式都通用的,那就逐瓦片解析,直接生成3DTiles的b3dm數(shù)據(jù),我通過(guò)長(zhǎng)時(shí)間不懈努力,證明這路線是可行的,能夠完全生成谷歌1~最高級(jí)瓦片數(shù)據(jù),與谷歌官方生產(chǎn)的3DTiles數(shù)據(jù)相比,顯示性能和顯示效率更好。
三、數(shù)據(jù)介紹
谷歌傾斜模型轉(zhuǎn)換工具已經(jīng)升級(jí)到V1.1版本,能夠在一鍵設(shè)置且無(wú)人值守的情況下,6小時(shí)完成香港地區(qū)500多平方公里共計(jì)520GB的3DTiles數(shù)據(jù)生產(chǎn),共計(jì)1~22級(jí),10小時(shí)完成臺(tái)灣地區(qū)臺(tái)北、臺(tái)中、桃園共計(jì)900多平方公里共計(jì)1TB的1-22級(jí)3DTiles數(shù)據(jù)生產(chǎn),生產(chǎn)效率相當(dāng)高。
目前生產(chǎn)出了澳門、香港以及臺(tái)灣臺(tái)北、桃園和臺(tái)中地區(qū)的樣例數(shù)據(jù)。澳門地區(qū)大約有50多平方公里面積,香港地區(qū)有500多平方公里,臺(tái)灣地區(qū)共計(jì)900平方公里,覆蓋了谷歌地球上香港、澳門和臺(tái)灣地區(qū)的傾斜模型覆蓋區(qū)域。視頻效果可以看看下面的視頻
臺(tái)灣3DTiles數(shù)據(jù)一鏡到底
從視頻中可以看出,在Cesium上只加載了arcgis影像地圖的情況下加載轉(zhuǎn)換后的臺(tái)灣3DTiles數(shù)據(jù),場(chǎng)景縮放、平移、旋轉(zhuǎn)時(shí),1-22級(jí)3DTiles數(shù)據(jù)加載相當(dāng)絲滑,毫無(wú)卡頓遲滯感!
四、數(shù)據(jù)使用
生產(chǎn)出來(lái)的3DTiles數(shù)據(jù)包括json文件和b3dm文件,和衛(wèi)星影像數(shù)據(jù)一樣,都是靜態(tài)數(shù)據(jù),使用Nginx即可發(fā)布,發(fā)布方法可以參考我之前的文章(中國(guó)34個(gè)省份12.5m分辨率高程地形瓦片數(shù)據(jù)), 前端Cesium接入示例代碼如下:
let tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8802/tileset.json");
viewer.scene.primitives.add(tileset);
viewer.scene.globe.depthTestAgainstTerrain = false;
需要注意的是,使用3dtiles數(shù)據(jù),需要關(guān)閉depthTestAgainstTerrain,否則會(huì)有地形高程遮擋顯示問(wèn)題。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-780335.html
五、總結(jié)
谷歌傾斜模型轉(zhuǎn)換工具成果實(shí)現(xiàn)了對(duì)谷歌傾斜攝影數(shù)據(jù)的逆向解析以及轉(zhuǎn)換成3DTiles格式數(shù)據(jù),相比較使用RenderDoc、Blender等工具,耗費(fèi)人工工時(shí)大大減少,在建立數(shù)據(jù)LOD及顯示效率上大大增強(qiáng),同時(shí)將谷歌最新的全球傾斜模型數(shù)據(jù)轉(zhuǎn)換生成3DTiles數(shù)據(jù),成為可能!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-780335.html
到了這里,關(guān)于谷歌傾斜攝影數(shù)據(jù)獲取以及轉(zhuǎn)換3DTiles介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!