龔發(fā)芽
摘 要:在海量影像地圖的應(yīng)用中,數(shù)據(jù)的存儲(chǔ)、更新和利用都是比較難以解決的問題,本文以全國(guó)特征點(diǎn)數(shù)據(jù)為基礎(chǔ),自動(dòng)挖掘出全國(guó)范圍的重要位置區(qū)域,并進(jìn)行結(jié)構(gòu)化處理,然后以此數(shù)據(jù)為依據(jù),提供任意位置在各種比例尺下的地圖重要性判斷方法,根據(jù)此方法,可選擇性的存儲(chǔ)和更新“重要”影像數(shù)據(jù),達(dá)到數(shù)據(jù)縮減存儲(chǔ)、快速更新和高效訪問的目的。
關(guān)鍵詞:海量遙感影像 縮減存儲(chǔ) 瓦片地圖 高并發(fā)訪問
中圖分類號(hào):P282 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)05(b)-0031-02
隨著遙感技術(shù)的發(fā)展,影像地圖應(yīng)用的日益增多,在全國(guó)級(jí)的海量影像地圖應(yīng)用中,數(shù)據(jù)的存儲(chǔ)、管理和更新是業(yè)界一直比較關(guān)注的熱點(diǎn)問題。當(dāng)前很多應(yīng)用會(huì)采用分塊分層結(jié)構(gòu)對(duì)影像地圖數(shù)據(jù)進(jìn)行切割處理,然后分塊調(diào)用[1],可以明顯加快顯示速度,下文稱此技術(shù)產(chǎn)生的地圖為瓦片地圖。在這種瓦片地圖應(yīng)用過程中,本文提出了一種基于特征點(diǎn)數(shù)據(jù)分布的海量影像地圖縮減存儲(chǔ)方法,并以瓦片影像地圖的應(yīng)用為實(shí)例進(jìn)行驗(yàn)證,該方法可以有效縮減90%以上的地圖存儲(chǔ)量,在此基礎(chǔ)上,本文還分析了數(shù)據(jù)快速更新機(jī)制、適用于高并發(fā)的多級(jí)數(shù)據(jù)存儲(chǔ)策略等海量地圖應(yīng)用關(guān)鍵技術(shù)的可行性。
1 影像數(shù)據(jù)組織方式
本文以瓦片式影像地圖的應(yīng)用作為實(shí)例,來驗(yàn)證該縮減壓縮方法的有效性,故此先簡(jiǎn)述瓦片地圖的組織結(jié)構(gòu)以及數(shù)據(jù)存儲(chǔ)量的計(jì)算方法。
1.1 金字塔式瓦片存儲(chǔ)組織結(jié)構(gòu)
瓦片式電子地圖是當(dāng)前比較流行的地圖服務(wù)形式,其采用金字塔結(jié)構(gòu),對(duì)影像地圖進(jìn)行分層和分塊的劃分。按照既定的多層比例尺,把每一個(gè)比例尺的整幅影像地圖切割為256×256像素或者512×512像素的小幅圖片(通常稱為瓦片),地圖引擎再采用相應(yīng)的算法,把這些小幅圖片組織起來,顯示到客戶端界面。瓦片的結(jié)構(gòu)圖如圖1所示[2]。
1.2 影像地圖數(shù)據(jù)總量計(jì)算
假設(shè)切圖方式采用現(xiàn)在流行的WEB墨卡托投影切片方式,即橫向和豎向的瓦片數(shù)量一致,則可知每個(gè)地圖級(jí)別n的瓦片數(shù)量為2n×2n,0~18級(jí)瓦片地圖的總數(shù)據(jù)量及存儲(chǔ)空間見表1所示[3](通常情況下,影像瓦片地圖平均大小為10 KB)。
以上為全球的瓦片地圖總數(shù)據(jù)量,如果按中國(guó)大陸的區(qū)域進(jìn)行計(jì)算,0~18級(jí)的數(shù)據(jù)總量大約為1994965244×10/1024/1024/1024=18.58T。
2 影像地圖智能縮減存儲(chǔ)方法
下面以全國(guó)特征點(diǎn)數(shù)據(jù)為基礎(chǔ),詳述如何從中挖掘出重要區(qū)域信息,然后采用合適的高效算法,判斷某個(gè)位置的瓦片地圖是否是重要地圖,繼而選擇性的存儲(chǔ),保證存儲(chǔ)的瓦片地圖都位于比較重要的位置。并且根據(jù)某個(gè)位置區(qū)域的特征點(diǎn)數(shù)據(jù)的密度,自動(dòng)判斷某個(gè)比例尺下的某個(gè)瓦片是否為重要地圖,可針對(duì)每個(gè)比例尺進(jìn)行地圖重要性判斷,從而大大縮減了重要地圖的數(shù)量,達(dá)到地圖智能縮減存儲(chǔ)的目的。
2.1 挖掘重要區(qū)域信息
首先對(duì)全國(guó)特征點(diǎn)數(shù)據(jù)進(jìn)行網(wǎng)格劃分,劃分依據(jù)為14級(jí)瓦片地圖的切割方法,統(tǒng)計(jì)每個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)量,并根據(jù)數(shù)據(jù)量的多少,計(jì)算當(dāng)前網(wǎng)格的重要程度,基于此重要程度,判斷當(dāng)前網(wǎng)格所處的區(qū)域是否為重要區(qū)域,并且根據(jù)重要程度的高低,判斷后續(xù)的15~18級(jí)地圖是否為重要地圖。
選擇14級(jí)作為基準(zhǔn)參考級(jí)別也是有所考慮的,14級(jí)網(wǎng)格數(shù)量約為596.7萬,若按15級(jí)或更大級(jí)別劃分,就容易因網(wǎng)格數(shù)量過大,降低后期數(shù)據(jù)判斷的運(yùn)算速度。并且因?yàn)楸局匾潭葦?shù)據(jù)本身只是參考數(shù)據(jù),并不一定代表實(shí)際情況,所以,過于要求數(shù)據(jù)的精準(zhǔn)度,并不一定達(dá)到更好的實(shí)際使用效果。
該分析方法具有通用性,當(dāng)特征點(diǎn)數(shù)據(jù)更新時(shí),可快速的更新此重要區(qū)域信息,為后續(xù)的判斷提供新的依據(jù)。
2.2 基于重要區(qū)域信息的縮減存儲(chǔ)方法
按照上一步挖掘出的重要區(qū)域信息,判斷任意瓦片地圖是否為重要地圖,簡(jiǎn)單的判斷依據(jù)為:
(1)小于14級(jí),認(rèn)為全部是重要地圖。
(2)14級(jí),當(dāng)網(wǎng)格內(nèi)數(shù)量大于0,則認(rèn)為是重要地圖。
(3)14級(jí)以上時(shí),假設(shè)當(dāng)前級(jí)別為level,先找到當(dāng)前瓦片在14級(jí)所在的瓦片網(wǎng)格的位置,獲取此網(wǎng)格的數(shù)據(jù)量n,判斷當(dāng)n>=4level-14時(shí),認(rèn)為此瓦片為重要地圖。
(4)循環(huán)所有瓦片地圖,即可知道那些為重要地圖。
在地圖存儲(chǔ)時(shí),就可以僅存儲(chǔ)重要地圖,達(dá)到縮減存儲(chǔ)的目的。
考慮到特征點(diǎn)數(shù)據(jù)可能出現(xiàn)缺失,以及盡可能為重要地圖區(qū)域顯示更多的緩沖區(qū)域,并且重要地圖周邊一定范圍的地圖訪問量也會(huì)是比較高的,所以可對(duì)上述判斷依據(jù)做進(jìn)一步的優(yōu)化,以便更好的適用實(shí)際情況,可能包含以下優(yōu)化方法:
(1)重要地圖周邊N塊網(wǎng)格的地圖都認(rèn)為是重要地圖,N>=1,具體數(shù)值可根據(jù)實(shí)際情況設(shè)置。
(2)每個(gè)網(wǎng)格的權(quán)重不簡(jiǎn)單的按照其中的特征點(diǎn)數(shù)量,而是參考周邊網(wǎng)格的權(quán)重進(jìn)行綜合計(jì)算,可有效的建立重要地圖的周邊緩沖帶,達(dá)到更好的顯示效果。
優(yōu)化后可達(dá)到更好的顯示效果,但也會(huì)帶來存儲(chǔ)量的增加,需根據(jù)實(shí)際情況選用。
3 應(yīng)用實(shí)例
本文以中國(guó)大陸的影像地圖為例,使用本文的數(shù)據(jù)縮減方法對(duì)海量瓦片影像數(shù)據(jù)進(jìn)行縮減存儲(chǔ)處理。
首先,對(duì)全國(guó)2000余萬條特征點(diǎn)數(shù)據(jù)進(jìn)行挖掘分析,計(jì)算出重要區(qū)域,然后通過此重要區(qū)域以及相關(guān)算法,判斷每個(gè)瓦片是否為重要地圖,計(jì)算結(jié)果如表2所示。
全部級(jí)別數(shù)據(jù)量之和為17176348張瓦片,總存儲(chǔ)空間約為163.8G,相比沒有縮減之前的18.58T的數(shù)據(jù)存儲(chǔ)空間,縮減比例達(dá)99.14%。
因影像瓦片地圖色彩都比較豐富,重要和非重要區(qū)域的地圖圖片大小差別并不是很大,由實(shí)際的存儲(chǔ)容量就可以看得出來,所以使用理論上的瓦片數(shù)據(jù)的比例作為存儲(chǔ)空間的縮減比例,是具有一定的參考價(jià)值的。endprint
從部署和更新時(shí)間上考慮,163.8GB的瓦片地圖數(shù)據(jù)進(jìn)行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺(tái)普通計(jì)算機(jī)上只需要20天左右的時(shí)間,如果使用多臺(tái)機(jī)器進(jìn)行任務(wù)分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區(qū)域信息的擴(kuò)展應(yīng)用
4.1 地圖快速更新
如果有新的影像地圖數(shù)據(jù)產(chǎn)生,可優(yōu)先對(duì)重要區(qū)域內(nèi)的地圖數(shù)據(jù)進(jìn)行處理,達(dá)到數(shù)據(jù)快速更新的目的。
4.2 提升并發(fā)性能
眾所周知,對(duì)于大多數(shù)系統(tǒng)來說,最頭疼的就是大規(guī)模的小文件存儲(chǔ)與讀取,因?yàn)榇蓬^需要頻繁的尋道和換道,因此,在讀取上容易帶來較長(zhǎng)的延時(shí)。在大量高并發(fā)訪問量的情況下,簡(jiǎn)直就是系統(tǒng)的噩夢(mèng)[4]。海量瓦片地圖就是這樣的情況,圖片數(shù)據(jù)可達(dá)數(shù)十億張以上,如果沒有比較好的存儲(chǔ)策略,在高并發(fā)訪問時(shí),文件IO勢(shì)必成為系統(tǒng)瓶頸。當(dāng)前比較簡(jiǎn)單且有效的方法是將訪問頻率較高或者隨機(jī)讀寫比例較高的數(shù)據(jù)文件放在固態(tài)硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數(shù)據(jù)文件存放在機(jī)械硬盤上[5]。
根據(jù)本文提出的數(shù)據(jù)縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機(jī)械硬盤上,可大大提升高并發(fā)時(shí)的地圖訪問速度。并且根據(jù)當(dāng)前主流的存儲(chǔ)器價(jià)格數(shù)據(jù),SSD存儲(chǔ)的價(jià)格大約是SATA盤的10~20倍,昂貴的高速存儲(chǔ)器只有比較小的存儲(chǔ)空間,把訪問量高的數(shù)據(jù)放在高速存儲(chǔ)上,訪問量低的數(shù)據(jù)放在低速存儲(chǔ)上,也可以達(dá)到節(jié)約成本的目的??傊褂帽疚牡臄?shù)據(jù)縮減存儲(chǔ)方法,可達(dá)到節(jié)約成本、提高并發(fā)訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數(shù)據(jù)的存儲(chǔ)策略,便于對(duì)訪問需求量比較高的“重要地圖”進(jìn)行優(yōu)先考慮。
5 結(jié)語
本文提出的海量影像地圖數(shù)據(jù)縮減存儲(chǔ)方法,可有效的降低數(shù)據(jù)存儲(chǔ)量,特別是當(dāng)數(shù)據(jù)有多機(jī)備份時(shí),具有非常明顯的效果;進(jìn)一步,基于此方法產(chǎn)生的重要區(qū)域信息數(shù)據(jù),本文還提出了其可能的一些擴(kuò)展應(yīng)用,例如解決數(shù)據(jù)多級(jí)存儲(chǔ)、高并發(fā)訪問、成本控制以及快速更新部署的問題。
參考文獻(xiàn)
[1] 王華斌,唐新明,李黔湘.海量遙感影像數(shù)據(jù)存儲(chǔ)管理技術(shù)研究與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結(jié)構(gòu)在海量數(shù)據(jù)處理中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲(chǔ)與處理架構(gòu)[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲(chǔ)系統(tǒng)的分層存儲(chǔ)技術(shù)研究[D].華南理工大學(xué),2013.endprint
從部署和更新時(shí)間上考慮,163.8GB的瓦片地圖數(shù)據(jù)進(jìn)行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺(tái)普通計(jì)算機(jī)上只需要20天左右的時(shí)間,如果使用多臺(tái)機(jī)器進(jìn)行任務(wù)分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區(qū)域信息的擴(kuò)展應(yīng)用
4.1 地圖快速更新
如果有新的影像地圖數(shù)據(jù)產(chǎn)生,可優(yōu)先對(duì)重要區(qū)域內(nèi)的地圖數(shù)據(jù)進(jìn)行處理,達(dá)到數(shù)據(jù)快速更新的目的。
4.2 提升并發(fā)性能
眾所周知,對(duì)于大多數(shù)系統(tǒng)來說,最頭疼的就是大規(guī)模的小文件存儲(chǔ)與讀取,因?yàn)榇蓬^需要頻繁的尋道和換道,因此,在讀取上容易帶來較長(zhǎng)的延時(shí)。在大量高并發(fā)訪問量的情況下,簡(jiǎn)直就是系統(tǒng)的噩夢(mèng)[4]。海量瓦片地圖就是這樣的情況,圖片數(shù)據(jù)可達(dá)數(shù)十億張以上,如果沒有比較好的存儲(chǔ)策略,在高并發(fā)訪問時(shí),文件IO勢(shì)必成為系統(tǒng)瓶頸。當(dāng)前比較簡(jiǎn)單且有效的方法是將訪問頻率較高或者隨機(jī)讀寫比例較高的數(shù)據(jù)文件放在固態(tài)硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數(shù)據(jù)文件存放在機(jī)械硬盤上[5]。
根據(jù)本文提出的數(shù)據(jù)縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機(jī)械硬盤上,可大大提升高并發(fā)時(shí)的地圖訪問速度。并且根據(jù)當(dāng)前主流的存儲(chǔ)器價(jià)格數(shù)據(jù),SSD存儲(chǔ)的價(jià)格大約是SATA盤的10~20倍,昂貴的高速存儲(chǔ)器只有比較小的存儲(chǔ)空間,把訪問量高的數(shù)據(jù)放在高速存儲(chǔ)上,訪問量低的數(shù)據(jù)放在低速存儲(chǔ)上,也可以達(dá)到節(jié)約成本的目的??傊褂帽疚牡臄?shù)據(jù)縮減存儲(chǔ)方法,可達(dá)到節(jié)約成本、提高并發(fā)訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數(shù)據(jù)的存儲(chǔ)策略,便于對(duì)訪問需求量比較高的“重要地圖”進(jìn)行優(yōu)先考慮。
5 結(jié)語
本文提出的海量影像地圖數(shù)據(jù)縮減存儲(chǔ)方法,可有效的降低數(shù)據(jù)存儲(chǔ)量,特別是當(dāng)數(shù)據(jù)有多機(jī)備份時(shí),具有非常明顯的效果;進(jìn)一步,基于此方法產(chǎn)生的重要區(qū)域信息數(shù)據(jù),本文還提出了其可能的一些擴(kuò)展應(yīng)用,例如解決數(shù)據(jù)多級(jí)存儲(chǔ)、高并發(fā)訪問、成本控制以及快速更新部署的問題。
參考文獻(xiàn)
[1] 王華斌,唐新明,李黔湘.海量遙感影像數(shù)據(jù)存儲(chǔ)管理技術(shù)研究與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結(jié)構(gòu)在海量數(shù)據(jù)處理中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲(chǔ)與處理架構(gòu)[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲(chǔ)系統(tǒng)的分層存儲(chǔ)技術(shù)研究[D].華南理工大學(xué),2013.endprint
從部署和更新時(shí)間上考慮,163.8GB的瓦片地圖數(shù)據(jù)進(jìn)行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺(tái)普通計(jì)算機(jī)上只需要20天左右的時(shí)間,如果使用多臺(tái)機(jī)器進(jìn)行任務(wù)分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區(qū)域信息的擴(kuò)展應(yīng)用
4.1 地圖快速更新
如果有新的影像地圖數(shù)據(jù)產(chǎn)生,可優(yōu)先對(duì)重要區(qū)域內(nèi)的地圖數(shù)據(jù)進(jìn)行處理,達(dá)到數(shù)據(jù)快速更新的目的。
4.2 提升并發(fā)性能
眾所周知,對(duì)于大多數(shù)系統(tǒng)來說,最頭疼的就是大規(guī)模的小文件存儲(chǔ)與讀取,因?yàn)榇蓬^需要頻繁的尋道和換道,因此,在讀取上容易帶來較長(zhǎng)的延時(shí)。在大量高并發(fā)訪問量的情況下,簡(jiǎn)直就是系統(tǒng)的噩夢(mèng)[4]。海量瓦片地圖就是這樣的情況,圖片數(shù)據(jù)可達(dá)數(shù)十億張以上,如果沒有比較好的存儲(chǔ)策略,在高并發(fā)訪問時(shí),文件IO勢(shì)必成為系統(tǒng)瓶頸。當(dāng)前比較簡(jiǎn)單且有效的方法是將訪問頻率較高或者隨機(jī)讀寫比例較高的數(shù)據(jù)文件放在固態(tài)硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數(shù)據(jù)文件存放在機(jī)械硬盤上[5]。
根據(jù)本文提出的數(shù)據(jù)縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機(jī)械硬盤上,可大大提升高并發(fā)時(shí)的地圖訪問速度。并且根據(jù)當(dāng)前主流的存儲(chǔ)器價(jià)格數(shù)據(jù),SSD存儲(chǔ)的價(jià)格大約是SATA盤的10~20倍,昂貴的高速存儲(chǔ)器只有比較小的存儲(chǔ)空間,把訪問量高的數(shù)據(jù)放在高速存儲(chǔ)上,訪問量低的數(shù)據(jù)放在低速存儲(chǔ)上,也可以達(dá)到節(jié)約成本的目的。總之,使用本文的數(shù)據(jù)縮減存儲(chǔ)方法,可達(dá)到節(jié)約成本、提高并發(fā)訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數(shù)據(jù)的存儲(chǔ)策略,便于對(duì)訪問需求量比較高的“重要地圖”進(jìn)行優(yōu)先考慮。
5 結(jié)語
本文提出的海量影像地圖數(shù)據(jù)縮減存儲(chǔ)方法,可有效的降低數(shù)據(jù)存儲(chǔ)量,特別是當(dāng)數(shù)據(jù)有多機(jī)備份時(shí),具有非常明顯的效果;進(jìn)一步,基于此方法產(chǎn)生的重要區(qū)域信息數(shù)據(jù),本文還提出了其可能的一些擴(kuò)展應(yīng)用,例如解決數(shù)據(jù)多級(jí)存儲(chǔ)、高并發(fā)訪問、成本控制以及快速更新部署的問題。
參考文獻(xiàn)
[1] 王華斌,唐新明,李黔湘.海量遙感影像數(shù)據(jù)存儲(chǔ)管理技術(shù)研究與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結(jié)構(gòu)在海量數(shù)據(jù)處理中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲(chǔ)與處理架構(gòu)[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲(chǔ)系統(tǒng)的分層存儲(chǔ)技術(shù)研究[D].華南理工大學(xué),2013.endprint