溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并

發(fā)布時間:2022-01-13 16:20:07 來源:億速云 閱讀:373 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

mbtiles是一個sqlite的數(shù)據(jù)庫,用來按照一定組織格式格式存儲切片地圖數(shù)據(jù),常用在單機、移動端的地圖包中,在地圖數(shù)據(jù)的發(fā)布,對比直接的切片文件數(shù)據(jù),具有存儲統(tǒng)一,便于移動拷貝。

在通過互聯(lián)網(wǎng)下載的數(shù)據(jù),轉(zhuǎn)換成mbtiles后,發(fā)現(xiàn)數(shù)據(jù)不夠,又需要重新下載,下載的時候,還需要將前邊的數(shù)據(jù)再下載一遍,對于高級別的切片,下載時間還是挺慢的。

mbtiles本身就是一個sqlite數(shù)據(jù)庫,這個可以通過java、C#等開發(fā)語言進行開發(fā),所以,可以通過開發(fā),將兩個或者多個mbtiles數(shù)據(jù)進行合并。

下圖是mbtiles文件的表結(jié)構(gòu):

GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并

metadata是切片的一些常用信息,map是切片的索引信息,images是具體的存儲切片文件數(shù)據(jù),是以二進制信息將圖片存儲到數(shù)據(jù)庫中。

在mbtiles的合并中,metadata中的bounds信息,需要根據(jù)各個mbtiles的文件,取最大的范圍,或者根據(jù)幾個mbtiles計算最大范圍,要是范圍不夠,發(fā)布后數(shù)據(jù)也不能訪問全面。

GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并

合并時,要對比map中的索引信息,根據(jù)zoom_level、tile_column、tile_row組合進行判斷,如存在的數(shù)據(jù),就不需要寫入了,不存在的數(shù)據(jù),首先將以上信息寫入到表中,在生成tile_id的guid,在images表中,以生成的guid和切片的圖片,組合寫入到表中,這樣就達到數(shù)據(jù)合并的效果。

GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并

感謝你能夠認真閱讀完這篇文章,希望小編分享的“GIS開發(fā)中如何實現(xiàn)mbtiles數(shù)據(jù)合并”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

gis
AI