基于Quick_SLPK_Server的I3S服務(wù)發(fā)布

i3s是什么?

i3s標(biāo)準(zhǔn)是一種用樹結(jié)構(gòu)來(lái)組織大體積量三維數(shù)據(jù)的數(shù)據(jù)格式標(biāo)準(zhǔn),比如在位圖界的jpg格式一樣,只不過(guò)i3s是“標(biāo)準(zhǔn)”,目前由slpk格式的文件實(shí)現(xiàn),內(nèi)部采用json文件來(lái)描述數(shù)據(jù),使用二進(jìn)制文件(格式為.bin)來(lái)存儲(chǔ)三維地理數(shù)據(jù)。

????i3s標(biāo)準(zhǔn)將三維地理數(shù)據(jù)切分,用“節(jié)點(diǎn)”的概念組織起來(lái),然后這些節(jié)點(diǎn)被有序地寫在“節(jié)點(diǎn)頁(yè)”中。將三維地理數(shù)據(jù)組織起來(lái)后,可以放在服務(wù)器上通過(guò)REST接口訪問(wèn)。

Quick_SLPK_Server介紹

i3s服務(wù)目前一般是由Portal for ArcGIS 和 ArcGIS Serve生成發(fā)布的,Quick_SLPK_Server則是使用開源的方式來(lái)發(fā)布i3s,使得我們可以方便快捷的訪問(wèn)三維服務(wù)。但是項(xiàng)目有一些問(wèn)題,目前只能支持到4.13版本的ArcGIS API for JavaScript和1.7版本的slpk,新版本(1.7)slpk和ArcGIS API for JavaScript 4.18并不支持。

Quick_SLPK_Server改造

首先要知道項(xiàng)目里是什么內(nèi)容,看過(guò)源碼可以發(fā)現(xiàn),其實(shí)項(xiàng)目主要就是通過(guò)發(fā)布rest讀取slpk內(nèi)部文件

看看建筑物類型的slpk文件結(jié)構(gòu)

image


場(chǎng)景類型slpk文件結(jié)構(gòu)

image

ArcGIS API for JavaScript三維服務(wù)加載研究

三維服務(wù)加載步驟是先請(qǐng)求slpk的描述文件3dSceneLayer.json.gz,這樣子就可以獲得一些模型類型范圍之類的描述信息。得到描述信息以后就是請(qǐng)求slpk文件數(shù)據(jù)了,只要根據(jù)請(qǐng)求的路徑找到slpk中對(duì)應(yīng)路徑的文件

遇到的問(wèn)題

單文件如果太大,服務(wù)速度會(huì)變慢,為了更快的訪問(wèn)到,我需要通過(guò)i3s_converter.exe或者winrar把slpk文件解壓,然后這樣就不要訪問(wèn)大文件了。當(dāng)slpk版本比較老,可以用i3s_converter.exe進(jìn)行升級(jí)。并發(fā)問(wèn)題目前還有待解決

slpk展示

image

image

image

image

參考資料:

https://www.cnblogs.com/onsummer/p/12082584.html

https://github.com/Esri/i3s-spec

https://github.com/CrashedBboy/Quick_SLPK_Server

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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