常 津
(南京市國土資源信息中心,江蘇 南京 210005)
“一張圖”工程整合了基礎(chǔ)地理框架、遙感影像、業(yè)務(wù)流轉(zhuǎn)和實(shí)時(shí)更新、建設(shè)用地審批等多源數(shù)據(jù)信息,不僅對于保持自然資源基礎(chǔ)數(shù)據(jù)的現(xiàn)勢性和真實(shí)性具有重大意義,還為國家直接、及時(shí)、準(zhǔn)確掌握自然資源現(xiàn)狀和時(shí)空變化提供了綜合平臺(tái)[1]。但是,隨著自然資源信息化的不斷發(fā)展,“一張圖”中的數(shù)據(jù)量也在快速增長。日益龐大的數(shù)據(jù)庫給日常維護(hù)和管理帶來了一定困難,同時(shí)也對業(yè)務(wù)系統(tǒng)的穩(wěn)定運(yùn)行造成了影響。因此,如何適時(shí)適度地清理“一張圖”數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)庫性能優(yōu)化,保證系統(tǒng)運(yùn)行順暢,成了當(dāng)前亟待解決的問題。
在進(jìn)行數(shù)據(jù)庫清理時(shí),需遵循以下原則:一是保障數(shù)據(jù)的保密性、完整性、可用性,降低數(shù)據(jù)安全風(fēng)險(xiǎn);二是選擇適當(dāng)類別的數(shù)據(jù)進(jìn)行清理,盡可能減小對當(dāng)前業(yè)務(wù)系統(tǒng)的影響[2]。目前,南京市“一張圖”在自然資源調(diào)查、動(dòng)態(tài)監(jiān)測等工作中積累了大量的影像數(shù)據(jù),全市每年的影像數(shù)據(jù)量平均在200 GB左右,歷史數(shù)據(jù)總量已達(dá)到了TB級。遙感影像占據(jù)了相當(dāng)大的數(shù)據(jù)庫空間,但基本維持在一年更新一次,相對于實(shí)時(shí)更新的地籍管理、建設(shè)用地等數(shù)據(jù),對數(shù)據(jù)庫的現(xiàn)勢性影響較小?;谏鲜龇治觯瑢v年遙感影像從“一張圖”數(shù)據(jù)庫中轉(zhuǎn)移出來,單獨(dú)離線存儲(chǔ),是清理數(shù)據(jù)庫的適當(dāng)選擇。但是,如何快速更新發(fā)布離線數(shù)據(jù),保證數(shù)據(jù)清理后“一張圖”影像的顯示效果,實(shí)現(xiàn)更好的用戶體驗(yàn),是另一個(gè)需要解決的重要問題。在過去的工作中,通常將影像入庫并存儲(chǔ)在“一張圖”數(shù)據(jù)庫中,然后再進(jìn)行切片發(fā)布等,這樣的做法效率較低且占據(jù)了大量的數(shù)據(jù)庫空間,若入庫時(shí)不慎出現(xiàn)了誤操作會(huì)很難完全釋放原本的自由空間,給數(shù)據(jù)庫帶來巨大壓力。為了滿足數(shù)據(jù)庫減負(fù)和地圖服務(wù)高效的雙重需求,本文改進(jìn)了傳統(tǒng)的工作方法,設(shè)計(jì)實(shí)現(xiàn)基于ArcGIS SERVER和GeoWebCache的遙感影像切片更新發(fā)布模式,將歷年影像從數(shù)據(jù)庫中剝離出來,釋放數(shù)據(jù)庫空間。實(shí)驗(yàn)證明,本方案有效緩解了“一張圖”數(shù)據(jù)庫的存儲(chǔ)壓力,優(yōu)化了數(shù)據(jù)庫性能,同時(shí)提高了影像數(shù)據(jù)的更新發(fā)布效率,保證了訪問速度。
目前,影像數(shù)據(jù)存儲(chǔ)模式主要分為三類:數(shù)據(jù)庫存儲(chǔ)、文件系統(tǒng)存儲(chǔ)、混合存儲(chǔ)[3]。
(1)數(shù)據(jù)庫存儲(chǔ)。使用Oracle擴(kuò)展的面向?qū)ο箨P(guān)系數(shù)據(jù)模型GeoRaster實(shí)現(xiàn)遙感數(shù)據(jù)組織和管理,在數(shù)據(jù)安全性、多用戶并發(fā)控制和存儲(chǔ)擴(kuò)展等方面具有優(yōu)勢,但其弊端也非常明顯:需要大型關(guān)系型數(shù)據(jù)庫平臺(tái)的支持,影像數(shù)據(jù)入庫耗費(fèi)大量時(shí)間,建庫后影像數(shù)據(jù)將會(huì)占用較大的存儲(chǔ)空間,數(shù)據(jù)的局部更新和備份操作煩瑣。
(2)文件系統(tǒng)存儲(chǔ)。數(shù)據(jù)以文件的形式集中存儲(chǔ)在指定的服務(wù)器上,通過文件的方式對影像數(shù)據(jù)進(jìn)行組織和管理,具有易于維護(hù)管理和不需要建立影像數(shù)據(jù)庫的特點(diǎn)。對于離線影像文件,更新較為方便,但是無法使用動(dòng)態(tài)切片緩存方法,要基于文件進(jìn)行切片,因此保證切片生產(chǎn)效率和成果質(zhì)量是使用該存儲(chǔ)方法的重點(diǎn)。
(3)混合存儲(chǔ)。結(jié)合關(guān)系數(shù)據(jù)庫和文件系統(tǒng)存儲(chǔ)的特點(diǎn),將遙感影像數(shù)據(jù)存儲(chǔ)在文件系統(tǒng)中,數(shù)據(jù)庫只管理影像數(shù)據(jù)的索引信息,因此影像數(shù)據(jù)的檢索效率會(huì)得到大幅提高。但是,使用該方法進(jìn)行存儲(chǔ)依舊不能從根本上改變影像數(shù)據(jù)對數(shù)據(jù)庫的依賴。
根據(jù)以上分析可以看出,只有改變影像數(shù)據(jù)的存儲(chǔ)方式,將歷年遙感影像集中存儲(chǔ)在文件系統(tǒng)中,釋放當(dāng)前數(shù)據(jù)庫的空間,才能實(shí)現(xiàn)數(shù)據(jù)庫清理的目的。同時(shí),為了保證數(shù)據(jù)快速更新發(fā)布,需要選擇適當(dāng)?shù)姆椒ǎ陔x線影像文件預(yù)生成靜態(tài)瓦片,通過緩存大量規(guī)則的地圖瓦片來響應(yīng)客戶端的請求。
本文提出的數(shù)據(jù)庫清理方案總體設(shè)計(jì)如圖1所示,首先對數(shù)據(jù)庫中的所有影像進(jìn)行備份,保證其安全性和完整性;然后對歷年影像依次進(jìn)行預(yù)處理,處理過程主要包括坐標(biāo)轉(zhuǎn)換、重采樣、數(shù)據(jù)鑲嵌、數(shù)據(jù)裁剪、建立金字塔等,生成規(guī)格統(tǒng)一的遙感影像,并在ArcGIS中按照年份創(chuàng)建全市范圍的影像文檔,并對每個(gè)文檔進(jìn)行分割,以提高切片效率;接著利用ArcGIS Server基于離線數(shù)據(jù)進(jìn)行切片生產(chǎn),同時(shí)用GeoWebCache發(fā)布切片數(shù)據(jù),保證數(shù)據(jù)訪問速度;最后全面清理“一張圖”數(shù)據(jù)庫中存儲(chǔ)影像的表空間,優(yōu)化數(shù)據(jù)庫性能。
圖1 數(shù)據(jù)庫清理方案總體設(shè)計(jì)
2.2.1 遙感影像預(yù)處理
數(shù)據(jù)預(yù)處理的目的是統(tǒng)一原始影像的分辨率、坐標(biāo)系、色調(diào)等,將分塊的影像以行政區(qū)為單位進(jìn)行整合梳理,保證數(shù)據(jù)質(zhì)量,為切片生產(chǎn)提供完整準(zhǔn)確的基礎(chǔ)數(shù)據(jù)。其基本步驟如下:
(1)坐標(biāo)轉(zhuǎn)換。將國家下發(fā)的標(biāo)準(zhǔn)格式數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為地方坐標(biāo)系。
(2)影像鑲嵌。將歷年影像以行政區(qū)為單位進(jìn)行拼接,鑲嵌為完整區(qū)域的影像。原始數(shù)據(jù)往往在規(guī)格上存在差異,因此對于同一年度相同行政區(qū)內(nèi)的若干影像,需要以分辨率最高的影像為基準(zhǔn)像幅,在拼接時(shí)選擇雙線性內(nèi)插法進(jìn)行重采樣,確保成果的整體分辨率。
(3)影像裁剪。對每個(gè)行政區(qū)的影像按照行政界線進(jìn)行裁剪,獲得區(qū)域影像,并利用JPEG_YCbCr方式對影像進(jìn)行視覺無損壓縮,并構(gòu)建影像金字塔,保證影像在ArcGIS中的加載速度和顯示效率。
2.2.2 ArcGIS Server生產(chǎn)地圖瓦片
根據(jù)傳統(tǒng)模式,“一張圖”中的地圖瓦片是基于在線影像動(dòng)態(tài)生成的,也就是說所有的數(shù)據(jù)在切片前都要進(jìn)行數(shù)據(jù)入庫,并完成相應(yīng)的圖層配置。如果將影像數(shù)據(jù)從數(shù)據(jù)庫中剝離,必須改變現(xiàn)有的切片方式。針對這一問題,本方案將選擇ArcGIS Server生產(chǎn)切片數(shù)據(jù),其地圖服務(wù)緩存機(jī)制的工作原理是:按照一定的數(shù)學(xué)規(guī)律,在先期選擇的各個(gè)比例尺下,將整個(gè)原始地圖文件,切成一定規(guī)格的圖片,然后保存這些圖片的副本到服務(wù)器端[4-5]。當(dāng)客戶端向服務(wù)器請求地圖服務(wù)時(shí),服務(wù)器不需要?jiǎng)討B(tài)生成新的瓦片,而是根據(jù)客戶端請求的地圖區(qū)域信息將原來切好的地圖圖片傳輸?shù)娇蛻舳耍瑥亩行У靥嵘貓D的瀏覽速度,減輕數(shù)據(jù)庫的負(fù)荷。
基于ArcGIS Server生產(chǎn)切片,首先將所有影像以年份為單位在ArcMap中逐年創(chuàng)建全市范圍的遙感影像地圖文檔;然后對每一個(gè)地圖文檔按照一定的行列數(shù)進(jìn)行分割,保證切片效率;最后按照電子地圖的顯示要求,分12個(gè)級別的比例尺進(jìn)行影像數(shù)據(jù)緩存。
2.2.3 GeoWebCache發(fā)布切片數(shù)據(jù)
ArcGIS Server的緩存圖片構(gòu)建好之后,進(jìn)行部署時(shí),如果只需要某個(gè)區(qū)域內(nèi)的緩存圖片,需單獨(dú)針對該區(qū)域重新構(gòu)建緩存圖片,要花費(fèi)大量的時(shí)間。為解決這個(gè)問題,需要選擇一種可以從已經(jīng)建立好的地圖瓦片中提取目標(biāo)范圍內(nèi)緩存圖片的方法。
GeoWebCache是 OpenGEO 的一個(gè)開源瓦片地圖服務(wù)模塊,采用Java實(shí)現(xiàn)基于WMS的動(dòng)態(tài)緩存服務(wù)。在實(shí)際工作中,GeoWebCache部署于客戶端和WMS兼容服務(wù)器之間,充當(dāng)?shù)貓D訪問代理。其發(fā)布數(shù)據(jù)的基本原理是:當(dāng)客戶端請求加載地圖服務(wù)時(shí),服務(wù)地址指向geowebcache,geowebcache接收到請求后,會(huì)根據(jù)請求的位置和比例尺在切片目錄中找到對應(yīng)的瓦片,然后返回給客戶端[6-7]。本方案中請求的切片資源是ArcGIS Server提前生成的,瀏覽器加載這些圖片之后,下一次再請求同樣的圖片時(shí),就會(huì)從瀏覽器的緩存中抽取數(shù)據(jù),不需要在服務(wù)器端重復(fù)計(jì)算,這使得地圖繪制的速度提升數(shù)倍,也得到了更好的用戶體驗(yàn)效果。
南京市“一張圖”數(shù)據(jù)庫中積累了大量的影像數(shù)據(jù),包括專項(xiàng)土地調(diào)查數(shù)據(jù)與遙感監(jiān)測影像等。根據(jù)區(qū)域面積和分辨率的差異,一個(gè)縣(區(qū))的遙感影像數(shù)據(jù)量為20 GB到50 GB,全市每年的衛(wèi)片影像數(shù)據(jù)量平均在200 GB 左右,高分航片影像數(shù)據(jù)量平均在500 GB,歷年影像數(shù)據(jù)總量更是達(dá)到了TB級。
本文主要從兩個(gè)方面進(jìn)行試驗(yàn),一方面對影像數(shù)據(jù)進(jìn)行清理,結(jié)果顯示清理前歷史遙感影像及其冗余數(shù)據(jù)占據(jù)了目前Oracle數(shù)據(jù)庫近2TB的存儲(chǔ)空間,清理后數(shù)據(jù)庫負(fù)荷較小,性能提升。另一方面以南京市2013年高分航空影像為例進(jìn)行切片試驗(yàn),其數(shù)據(jù)量為460 GB,從表1的對比結(jié)果可以看出,用本文提出的方案進(jìn)行影像切片發(fā)布,雖然不能動(dòng)態(tài)生成地圖瓦片,但是大大緩解了數(shù)據(jù)庫的存儲(chǔ)壓力,還能夠省去數(shù)據(jù)入庫的環(huán)節(jié),簡化生產(chǎn)過程。使用ArcGIS Server切片效率較高,相較在線切片的方法也更為穩(wěn)定,保證了響應(yīng)速度。通過GeoWebCache發(fā)布服務(wù),保證了影像顯示質(zhì)量。因此綜合考慮,本方案是保證系統(tǒng)全線穩(wěn)定的有利選擇。
表1 切片方案對比
“一張圖”數(shù)據(jù)庫日益龐大,對數(shù)據(jù)庫性能和系統(tǒng)運(yùn)行造成了一定影響,本文針對這一問題設(shè)計(jì)了數(shù)據(jù)庫清理方案。首先根據(jù)實(shí)際工作需求鎖定歷年遙感影像數(shù)據(jù)為清理目標(biāo);然后分析影像數(shù)據(jù)存儲(chǔ)模式,將影像存儲(chǔ)在文件系統(tǒng)中;最后提出基于ArcGIS SERVER和GeoWebCache的遙感影像切片更新發(fā)布模式,保證影像數(shù)據(jù)脫離數(shù)據(jù)庫后的發(fā)布效率。實(shí)踐證明,本方案行之有效,不僅實(shí)現(xiàn)了數(shù)據(jù)庫清理的目的,優(yōu)化了數(shù)據(jù)庫性能,而且提高了影像數(shù)據(jù)的更新發(fā)布效率,簡化了切片生產(chǎn)過程,為國土資源“一張圖”數(shù)據(jù)庫清理提供了新的思路。