王云帆
(國家基礎(chǔ)地理信息中心,北京 100830)
我國是遭受自然災(zāi)害影響十分嚴(yán)重的國家,加強救災(zāi)應(yīng)急體系建設(shè)是關(guān)系國家經(jīng)濟(jì)社會發(fā)展全局和人民群眾切身利益的大事[1]。其中數(shù)據(jù)資源保障是整個應(yīng)急救災(zāi)體系的重要基礎(chǔ),更是應(yīng)急救災(zāi)指揮調(diào)度的前提。根據(jù)以往在應(yīng)急制圖方面的經(jīng)驗,單一的數(shù)據(jù)源往往不能滿足應(yīng)急制圖過程中的需求,因此在實際應(yīng)急制圖過程中,通常會將國家基礎(chǔ)地理信息數(shù)據(jù)、地理國情監(jiān)測數(shù)據(jù)、天地圖數(shù)據(jù)、志愿者制圖數(shù)據(jù)等多尺度多源異構(gòu)的地理信息數(shù)據(jù)進(jìn)行快速匹配融合。但現(xiàn)有對數(shù)據(jù)源要素進(jìn)行匹配的地理要素編碼和匹配方式存在以下幾個問題:①編碼沒有任何規(guī)律,且是一個局部的唯一[2],因此造成不同單位提供的矢量要素數(shù)據(jù)中,對于同一實體要素的編碼完全不同,導(dǎo)致在信息交換和共享時幾乎難以應(yīng)用;②每一個實體都必須人工賦予編碼,無法用程序批量完成,工作量巨大,更新與維護(hù)不便,且容易造成人為錯誤[3];③編碼的唯一性存在歧義,即不同行業(yè)對同一種基礎(chǔ)地理要素編碼不唯一;④編碼的內(nèi)容中包含諸如行政區(qū)劃等人文要素,一旦行政區(qū)劃進(jìn)行調(diào)整,則整套要素編碼必須作調(diào)整甚至重新編碼[4];⑤編碼過程通常受人工干預(yù)和人為誤差的影響[5]。
針對以上問題,亟需研究出一種能夠?qū)Φ乩韺嶓w空間特征進(jìn)行分析,并通過要素編碼方法來唯一標(biāo)識地理實體的技術(shù),將地理實體的匹配轉(zhuǎn)化為要素編碼的匹配,最終實現(xiàn)在實際應(yīng)急制圖過程中要素的快速匹配融合。本文基于開放位置編碼技術(shù)(open location code,OLC),提出一種基于矢量要素位置和幾何特征的OLC唯一編碼匹配技術(shù),能夠解決不同數(shù)據(jù)源的地理要素統(tǒng)一編碼問題,且能夠減小地名、地址不清晰不完備對編碼的影響,編碼過程自動完成,減少人為誤差對編碼的影響。應(yīng)用這項技術(shù)可以建立一個應(yīng)急專題數(shù)據(jù)庫,解決多源空間數(shù)據(jù)融合后數(shù)據(jù)難以更新的問題,并為今后應(yīng)急制圖提供數(shù)據(jù)保障。
OLC是對WGS-84坐標(biāo)系統(tǒng)中經(jīng)緯度坐標(biāo)進(jìn)行的編碼,首先計算0~9和A~Z中所有可能的20字符組合,然后對其用超過30種語言拼寫10 000個單詞的表現(xiàn)進(jìn)行打分,最終選出盡可能避免生成可辨識單詞的20字符組,如“23456789CFGHJMPQRV WX”[6]。OLC編碼對以度為單位的WGS-84坐標(biāo)系進(jìn)行編碼,解碼后得到一片區(qū)域而不是一個點。編碼區(qū)域取決于編碼長度,編碼越長,返回的區(qū)域越小,越精確。兩位編碼包含20°的高和寬,每在編碼中增加兩位,高和寬就分別除以20。
用18×9的格網(wǎng)覆蓋整個地球,每個網(wǎng)格是20°×20°的區(qū)域。OLC的初始兩位數(shù)定義了其中的一個網(wǎng)格區(qū)域,第一位為行坐標(biāo),表示緯度,第二位為列坐標(biāo),表示經(jīng)度。后續(xù)步驟繼續(xù)將每個小區(qū)域劃分為20°×20°的網(wǎng)格,并用一位定義所在行,另一位定義所在列。
通常,10位編碼(1/8000°的分辨率)對大多數(shù)位置來說精確度已經(jīng)足夠,但是在樓房密集的區(qū)域,10位編碼所表達(dá)的區(qū)域可能覆蓋了多個建筑。而12位編碼的區(qū)域邊長已經(jīng)小于1 m,因此11位編碼在長度和精度上最為適中。在11位編碼的算法中,第10位所表達(dá)的區(qū)域被劃分為4°×5°的網(wǎng)格,其中每一格都由單獨的一位數(shù)字表示。11位編碼表達(dá)了一個1/32 000°×1/40 000°的區(qū)域,約為3.4 m×2.7 m。
傳統(tǒng)的OLC編碼方法只考慮了目標(biāo)定位問題,而沒有考慮地理要素匹配問題,因而沒有顧及矢量要素位置和幾何特征,難以直接用于不同數(shù)據(jù)源矢量要素的匹配。本文提出的基于矢量要素位置和幾何特征的OLC唯一編碼技術(shù)是對OLC編碼技術(shù)的擴(kuò)展。
矢量數(shù)據(jù)的類型有點、線、面3種表現(xiàn)形式[7],為了使3種形式具有統(tǒng)一的表達(dá)方式,本文選取了一些能反映數(shù)據(jù)幾何特性的關(guān)鍵點,將這些點的OLC碼串聯(lián)作為該地理要素的編碼。
點要素直接使用OLC的11位開放位置編碼進(jìn)行標(biāo)識。
線要素取起點、終點、折線中點和包絡(luò)的兩對角點,作為描述其幾何特性的關(guān)鍵點,如圖1所示。
圖1 線要素特征描述關(guān)鍵點
圖1中,A1、A3分別為起點和終點,A2為折線中點,A4、A6和A5、A7為最小矩形包絡(luò)的兩對角點。
面要素選取重心和包絡(luò)的兩對角點作為關(guān)鍵點。
面要素幾何特征點選取如圖2所示,其中A5為面要素幾何形狀的重心位置,A1、A3和A2、A4為最小矩形包絡(luò)的兩對角點。
為了使編碼更具有區(qū)分性,可以在編碼中加入要素類型和比例尺信息,并用“#”符號與幾何編碼區(qū)分開來。
圖2 面要素特征描述關(guān)鍵點
矢量數(shù)據(jù)的匹配技術(shù)是GIS空間數(shù)據(jù)更新研究領(lǐng)域關(guān)注的重點問題之一,是實現(xiàn)多尺度多源地圖協(xié)同更新的關(guān)鍵技術(shù)[8]。地理實體匹配的一個主要方面是合理地選擇空間實體的相似性測度與相似度指標(biāo),而這依賴于地理要素所具備的特征,其特征和算法構(gòu)成了地理要素的匹配指標(biāo)[9]。相似度指標(biāo)作為同名地理空間實體匹配的依據(jù),指標(biāo)的測度與合理選擇直接影響匹配算法的效果。地理空間目標(biāo)的相似性包括圖形相似性和語義相似性,圖形相似性又可分為幾何相似性(距離、形狀、角度和方向等)和上下文環(huán)境相似性[10]。
研究目標(biāo)相似度的綜合計算模型,可以快速準(zhǔn)確地識別不同來源數(shù)據(jù)集的同名實體,為地圖更新打下堅實的基礎(chǔ)。本文考慮了點-點、點-面、線-線、線-面和面-面共計5種匹配關(guān)系。其中,點-點匹配只需比較其OLC編碼,計算它們開放地址編碼字符串的相同長度比例即可,線-面匹配可轉(zhuǎn)化為線-面中心線的匹配。因此不同矢量數(shù)據(jù)之間的比較最終成為點-面、線-線和面-面3種類型的比較。對于點-面相似度計算,可通過比較點要素和面要素的重心來實現(xiàn),其計算如下
(1)
式中,A和B分別表示點要素和面要素兩個地理空間目標(biāo);S(B,A)表示目標(biāo)B和目標(biāo)A的相似度;(x,y)是對應(yīng)點要素的點坐標(biāo)或面要素的重心坐標(biāo);U為面要素最小矩形包絡(luò)對角線的長度。點要素和面要素重心越趨于同一點,所得到的相似度越接近于1,即兩者的相似度越高。
對于線-線匹配的情況,線的長度、方向,以及兩條線關(guān)鍵點的距離,都是影響判斷的重要因素。對于表示同一地理實體的兩條線,其長度、方向和關(guān)鍵點的位置應(yīng)該十分接近,因此可用以下公式計算線-線相似度
(2)
式中,A和B分別表示兩個線要素地理空間目標(biāo);(x,y)是對應(yīng)線要素的折線中點坐標(biāo);L為長度計算操作;θ為方向角計算操作,計算線要素起點和終點的方向;U為線要素最小矩形包絡(luò)對角線的長度;α、β、γ為權(quán)重參數(shù),且α+β+γ=1。當(dāng)兩個線要素的長度越接近、方向越一致、折線中點的距離越小時,兩者相似度計算結(jié)果就越接近于1,即兩個線要素的相似度越高。
對于面-面匹配的情況,面的重心位置、重合區(qū)域,以及兩個面的主方向,都是影響判斷的重要因素。對于表示同一地理實體的兩個面,其重心、覆蓋區(qū)域與主方向應(yīng)該十分接近,因此可用以下公式計算面-面相似度
(3)
式中,A和B分別表示兩個面要素地理空間目標(biāo);(x,y)是對應(yīng)面要素的重心;L為長度計算操作;θ為方向角計算操作,計算面要素最小面積包絡(luò)的主對角線方向;U為最小矩形包絡(luò)對角線的長度;α、β、γ為權(quán)重參數(shù),且α+β+γ=1。當(dāng)兩個面要素的重心位置越接近、表達(dá)區(qū)域重合度越高、主方向越一致時,兩者相似度就越高,計算結(jié)果越接近于1。
為了提高匹配效率,在進(jìn)行匹配前應(yīng)對待匹配數(shù)據(jù)進(jìn)行預(yù)處理,統(tǒng)一坐標(biāo)系并去除粗差,然后通過對應(yīng)數(shù)據(jù)的OLC編碼進(jìn)行粗匹配。對于要比對的兩點,首先使用其OLC編碼進(jìn)行初匹配,如果不同,則認(rèn)為兩組數(shù)據(jù)并不匹配。對于OLC編碼相似度較高的數(shù)據(jù),再通過式(1)—式(3)計算得到其相似度的值,當(dāng)相似度大于設(shè)定的閾值時,則認(rèn)為兩者匹配,將其寫入匹配表中。
為驗證本文研究方法的有效性及理論的合理性,應(yīng)用C++編程語言開發(fā)地理實體匹配工具,用于理論驗證。
以不同尺度下的地理信息數(shù)據(jù)進(jìn)行統(tǒng)一編碼和要素相似度匹配試驗,針對地理實體的3種要素類型點、線、面進(jìn)行統(tǒng)一編碼,再根據(jù)本文方法進(jìn)行相似度匹配。為驗證方法的可行性,設(shè)計點與點、線與線兩類匹配試驗,獲得如下結(jié)果。
試驗1:點要素與點要素進(jìn)行要素匹配,使用1∶25萬公開版國家基礎(chǔ)地理信息數(shù)據(jù)和1∶100萬國家基礎(chǔ)地理信息數(shù)據(jù),分別提取天津市區(qū)域的數(shù)據(jù),使用1∶25萬和1∶100萬點要素AANP層進(jìn)行試驗,根據(jù)OLC編碼規(guī)則,對點要素進(jìn)行統(tǒng)一編碼,編碼結(jié)果如圖3、圖4所示。
由圖3、圖4可知,OLC屬性項分別為1∶25萬和1∶100萬基礎(chǔ)地理信息數(shù)據(jù)的OLC編碼。根據(jù)編碼結(jié)果,使用本文方法對要素進(jìn)行相似度計算,部分結(jié)果如圖5所示。
圖3 1∶25萬基礎(chǔ)地理信息數(shù)據(jù)點要素AANP層要素OLC編碼結(jié)果
圖4 1∶100萬國家基礎(chǔ)地理信息數(shù)據(jù)點要素AANP層要素OLC編碼結(jié)果
圖5 點要素層相似度計算部分結(jié)果
其中OID為序號,ID_A和ID_B分別為1∶100萬和1∶25萬點要素AANP層的要素OLC編碼,SCORE為根據(jù)本文方法計算出的相似度概率,在匹配過程中可以通過閾值設(shè)定根據(jù)相似度進(jìn)行要素匹配融合。
試驗2:線要素與線要素進(jìn)行要素匹配,使用1∶25萬公開版國家基礎(chǔ)地理信息數(shù)據(jù)和1∶100萬國家基礎(chǔ)地理信息數(shù)據(jù),分別提取天津市區(qū)域的數(shù)據(jù),使用1∶25萬和1∶100萬線要素LFCL層進(jìn)行試驗,根據(jù)OLC編碼規(guī)則,對線要素進(jìn)行統(tǒng)一編碼,編碼結(jié)果如圖6、圖7所示。
圖6 1∶25萬基礎(chǔ)地理信息數(shù)據(jù)點要素LFCL層要素OLC編碼結(jié)果
圖7 1∶100萬基礎(chǔ)地理信息數(shù)據(jù)點要素LFCL層要素OLC編碼結(jié)果
由圖6、圖7可知,OLC屬性項分別為1∶25萬和1∶100萬基礎(chǔ)地理信息數(shù)據(jù)LFCL層要素的OLC編碼。根據(jù)編碼結(jié)果,使用本文方法對要素進(jìn)行相似度計算,結(jié)果如圖8所示。ID_A和ID_B分別為1∶100萬和1∶25萬點要素LFCL層的要素OLC編碼,SCORE為根據(jù)本文方法計算出的相似度概率,在匹配過程中可以通過閾值設(shè)定根據(jù)相似度進(jìn)行要素匹配融合。
圖8 線要素層相似度計算結(jié)果
根據(jù)本文提出的算法對不同數(shù)據(jù)源進(jìn)行統(tǒng)一編碼,并依據(jù)空間幾何特征對地理實體統(tǒng)一編碼,通過空間相似度計算和編碼相似度計算進(jìn)行匹配。試驗表明,該方法為解決多尺度多源異構(gòu)數(shù)據(jù)的地理實體匹配提供了一種新的思路,通過對地理實體進(jìn)行統(tǒng)一編碼,將空間要素匹配轉(zhuǎn)化為文本格式的編碼匹配,可以提高多源異構(gòu)空間數(shù)據(jù)匹配效率,為滿足應(yīng)急制圖過程中多源異構(gòu)數(shù)據(jù)匹配融合的需求提供了一種方法,簡化了現(xiàn)有地理空間數(shù)據(jù)庫更新的難度。本文算法可擴(kuò)展應(yīng)用于GIS多元數(shù)據(jù)匹配融合、數(shù)據(jù)更新等領(lǐng)域,并應(yīng)用于應(yīng)急專題數(shù)據(jù)融合處理,為今后應(yīng)急制圖提供數(shù)據(jù)保障。