張壽選
(福建省基礎地理信息中心,福建 福州 350003)
國家測繪地理信息局2013年啟動國家、省、市節(jié)點同構試點,旨在通過節(jié)點間的基礎設施與服務平臺軟件同構與數(shù)據(jù)融合,實現(xiàn)更深層次分布式信息資源集成與協(xié)同服務,為未來基于云架構的分布式服務資源動態(tài)調度奠定基礎。數(shù)據(jù)融合的目標是按照現(xiàn)勢性優(yōu)、精度高、數(shù)據(jù)全的原則,形成通用性強、精度優(yōu)、覆蓋廣的“天地圖·福建”的數(shù)據(jù)源,解決國家、省、市、縣的數(shù)據(jù)模型、現(xiàn)勢性、精度等不一致的問題,保證數(shù)據(jù)的權威性。矢量數(shù)據(jù)融合對象包括水系、交通、居民地、境界、綠地以及地名、地址與興趣點等。
福建省2013年參加國家主節(jié)點數(shù)據(jù)與省級節(jié)點數(shù)據(jù)融合試點,之后每年均開展1次數(shù)據(jù)融合工作,融合成果除提交國家局外,還作為“天地圖·福建”的主要數(shù)據(jù)源。境界、水系、綠地、居民地等數(shù)據(jù)主要采用省級中比例尺和市縣大比例尺的數(shù)據(jù),融合的主要工作是數(shù)據(jù)替換和協(xié)調,處理工作量相對較小。道路數(shù)據(jù)融合時,需要對國家、省、市、縣的數(shù)據(jù)進行融合,同時參考專業(yè)部門提供的專題數(shù)據(jù),多源數(shù)據(jù)的數(shù)據(jù)模型不同,除幾何類型和圖形差異外,還存在屬性不一致問題,人工處理耗時費力。為提高數(shù)據(jù)融合的效率,急需能夠快速、準確的對多源、多尺度的道路數(shù)據(jù)進行變化發(fā)現(xiàn)的工具。
在引入空間目標匹配之前,多源道路數(shù)據(jù)變化要素提取主要使用緩沖區(qū)和擦除等空間分析工具完成。主要技術流程如圖1所示。
圖1 道路數(shù)據(jù)融合流程Fig.1 Flow chart of road data fusion
省市節(jié)點道路數(shù)據(jù)的現(xiàn)勢性優(yōu)于國家主節(jié)點道路數(shù)據(jù)的現(xiàn)勢性。國家主節(jié)點導航道路數(shù)據(jù)、省市節(jié)點道路數(shù)據(jù)分別生成緩沖區(qū),然后使用主節(jié)點緩沖區(qū)擦除省市節(jié)點道路數(shù)據(jù),剩余道路為省市節(jié)點相較于主節(jié)點的增量道路,將增量道路數(shù)據(jù)與國家主節(jié)點數(shù)據(jù)進行合并。與此類似,利用省市節(jié)點道路緩沖區(qū)擦除國家主節(jié)點道路數(shù)據(jù),剩余的道路為刪除道路,將主節(jié)點道路的屬性字段STACOD標識為3(刪除)。最終進行屬性處理、要素間關系協(xié)調、拓撲檢查等,形成道路數(shù)據(jù)融合成果。
這種融合方法存在一個難以解決的問題是:幾何圖形沒有變化但屬性變化的要素需要人工判斷,而屬性變化發(fā)現(xiàn)比較困難,需要逐要素、逐字段的人工判斷,耗時費力。
目標匹配已廣泛應用于生活中,如醫(yī)學影像分析、遙感影像識別、指紋識別、人臉識別等。近年來,隨著天地圖、數(shù)字城市、各級基礎地理信息數(shù)據(jù)庫等項目的開展和建成,空間數(shù)據(jù)如何快速更新、多尺度聯(lián)動更新成為地理信息行業(yè)面臨的重要問題[1-2]。有較多學者對空間目標匹配進行了研究,針對不同幾何類型的地物提出了提高匹配精度和效率的算法[3]??臻g目標匹配技術已廣泛應用于地圖融合及合并、地圖數(shù)據(jù)庫更新、空間數(shù)據(jù)庫集成與共享、不同地圖數(shù)據(jù)庫質量評價等[4]。
線狀地物的匹配最常用的算法有Hausdorff距離和Fréchet距離等,但這些方法都有一定局限性,如Hausdorff距離容易受空間目標局部幾何形狀的影響[5]。由于道路數(shù)據(jù)融合時數(shù)據(jù)量較大,如國家主節(jié)點的道路數(shù)據(jù)約有120萬條,福建省1:10 000DLG數(shù)據(jù)中道路約127萬條,空間目標匹配涉及較多的緩沖區(qū)計算、空間查詢、距離計算等,必須考慮匹配效率和準確率。
來源于不同數(shù)據(jù)的兩條道路是否表示的是同一條道路,只需要確定兩條道路的距離是否足夠接近即可[6]。道路匹配的基本思路:兩條道路L1和L2,矢量道路數(shù)據(jù)其實是坐標點序列,因此可以將道路匹配簡化為離散的點集與折線的距離問題,即道路L1的節(jié)點離散成序列點集S(p1,p2,…,pn),計算點集S中每個點到折線L2的最短距離dmin,得到最短距離集合D(d1,d2,…,dn),如果max(d1,d2,…,dn)小于最大距離閾值tmax,且最短距離的平均值∑1ndi/n小于設定的平均最小距離閾值tavg,就認為L1與L2匹配,如圖2所示,圖中L1有p1-p44個結點,到L2的最短距離對應點分別為t1-t4,最短距離分別為d1-d4。利用這種思路,可以將道路匹配問題簡化為距離計算,提高計算的效率。
圖2 最短距離匹配Fig.2 Minimum distance matching
道路折線之間的匹配關系有多種(如圖3所示):①1:0,一條線對0條線,包括0條線對一條線;②1:1,一條線對一條線;③1:n,一條線對多條線,包括多條線對一條線;④m:n,多條線對多條線。其中,1:0和0:1為新增和刪除要素。1:1和1:n的匹配相對比較簡單,匹配的精度很高。m:n的情況最為復雜,也是匹配計算最為耗時的一種。在匹配時,可以將m:n的情況根據(jù)最短距離計算結果打斷成m′段,再取m′中的一段與n進行匹配,從而將m:n轉換成1:n的情況,再遍歷m′實現(xiàn)m:n的匹配。
圖3 折線間匹配關系Fig.3 Diあerent matching situations of polygonal lines
在進行道路匹配時,需要計算每條道路的緩沖區(qū),使用緩沖區(qū)進行空間相交查詢,查詢結果一般有多條,特別是路網(wǎng)密集的城區(qū),為提高匹配的效率,可以生成道路折線凸包,并利用凸包計算出道路折線的角度,當兩條道路的角度差小于某個閾值時才進行后續(xù)的匹配計算,這樣能夠排除大部分空間查詢結果,減少匹配的計算量。
道路空間匹配的流程如圖4所示。更新道路為可作為更新參考資料的外部道路數(shù)據(jù),原始道路為“天地圖·福建”的現(xiàn)勢數(shù)據(jù),更新道路的現(xiàn)勢性優(yōu)于原始道路的現(xiàn)勢性,空間目標匹配的過程就是為了從更新道路中提取幾何圖形和屬性變化的道路。
更新道路和原始道路作為數(shù)據(jù)輸入,首先使用更新道路中的道路折線Li生成緩沖區(qū),利用緩沖區(qū)對原始道路進行空間相交查詢,查詢結果為F(f1,f2,…,fn),如果空間查詢結果F為空,則Li為新增道路,如果是原始道路對更新道路的空間查詢結果為空,則為刪除道路。
如果空間查詢結果F不為空,則進行后面距離匹配的計算,Li如果能夠與F中的道路匹配,則進行屬性變化的判斷,如果F中沒有道路與Li匹配,則道路Li為變化道路。通過對更新道路和原始道路的正向和反向匹配,可以得到新增、刪除、幾何變化、屬性變化的道路。
圖4 空間匹配流程圖Fig.4 Flow chart of spatial matching
“天地圖·福建”數(shù)據(jù)融合采用ArcGIS平臺,包括數(shù)據(jù)更新和融合、數(shù)據(jù)建庫管理等作業(yè)過程,因此,空間目標匹配算法基于ArcObjects10.1和Visual Studio2010進行開發(fā)。
ArcObjects提供了實現(xiàn)匹配算法需要的主要接口,包括緩沖區(qū)生成、空間查詢、點到折線的最短距離計算等,都可以直接使用ArcObjects接口,這些接口的計算效率較高。為了提高空間查詢的效率,數(shù)據(jù)在匹配前一定要建立空間索引,同時,數(shù)據(jù)格式采用File Geodatabase,能夠保證在數(shù)據(jù)量較大時仍有較高的I/O效率。
空間匹配時遍歷每條道路,首先要按照指定的距離生成道路的緩沖區(qū),可以使用ITopologicalOperator.Buffer(),然后將緩沖區(qū)定義為ISpatialFilter的幾何圖形,使用IFeatureClass.Search()進行空間相交查詢,查詢結果返回游標IFeatureCursor,使用IPointCollection用來將道路折線轉換為離散節(jié)點,目標道路轉換為IPolyline,此時就可以使用IPolyline.QueryPointAndDistance()查詢IPointCollection中每個點到IPolyline的最短距離,同時還能返回最短距離時在IPolyline上的點位坐標,對最短距離進行統(tǒng)計,然后通過最短距離的最大值和平均值與設定閾值的大小關系判斷兩條道路是否匹配。程序的界面如圖5所示。
圖5 空間匹配程序Fig.5 Interface of spatial matching program
為了驗證匹配算法的有效性和匹配精度,用漳州城區(qū)的1:10000(如圖6a所示)和1:500(如圖6b所示)道路進行空間匹配試驗,通過人工判斷的方法對變化要素進行匹配精度檢驗,1:10000道路199條,1:500道路1185條,人工提取變化和新增道路935條,刪除道路42條,匹配程序的提取結果如圖6c和6d所示,變化和新增要素中錯漏62條,刪除要素中錯漏3條,按照統(tǒng)計匹配精度公式accuracy=sr/scr,其中,scr為人工提取的所有變化要素個數(shù),sr表示程序計算的匹配結果中匹配正確的要素個數(shù),根據(jù)上述統(tǒng)計,匹配精度accuracy=912/977=93.3%.
圖6 1:10000、1:500道路數(shù)據(jù)及匹配結果Fig.6 Matching results of road data on 1:10 000 and 1:500 maps
此外,還使用主節(jié)點道路導航數(shù)據(jù)(如圖7a所示)與福建省核心要素道路數(shù)據(jù)(如圖7b所示)進行匹配試驗,其中,核心要素數(shù)據(jù)是對1:10000DLG數(shù)據(jù)進行整合處理,去除涉密和專業(yè)性較強的要素,形成能滿足大多數(shù)應用需求的主要要素,包括水系、居民地、道路、鐵路、境界、城市綠地等。以福州市城區(qū)約25km2的樣區(qū)進行試驗,主節(jié)點道路4696條,福建省核心要素道路994條,主節(jié)點道路數(shù)據(jù)采用導航模型,數(shù)據(jù)比較“破碎”,城區(qū)道路比核心要素道路更為詳細。人工提取出變化要素178條,刪除要素1896條,匹配程序提取結果如圖7c和圖7d所示,變化和新增要素中錯漏3條,刪除要素中錯漏10條,匹配精度為accuracy=2061/2074=99.4%.
圖7 導航主節(jié)點道路和核心道路及匹配結果Fig.7 Matching results of navigation and core roads
表1 目標匹配結果統(tǒng)計Tab.1 Statistic of spatial object matching results
兩組試驗的統(tǒng)計結果見表1,跨比例尺道路數(shù)據(jù)的匹配精度與同類算法相當,相似比例尺道路數(shù)據(jù)的匹配精度高于同類算法[7-8]。本文采用的算法在跨比例尺道路數(shù)據(jù)匹配時的匹配精度達93.3%,比例尺相似的道路數(shù)據(jù)的匹配精度達99.3%。試驗1中1:10000與1:500道路存在較多的m:n的對應關系,數(shù)據(jù)現(xiàn)勢性相差兩年,對匹配精度有較大影響。試驗2中主節(jié)點道路與省級核心要素雖然數(shù)據(jù)模型不同,如主節(jié)點主干街道以雙線表示,主節(jié)點道路沒有明確的比例尺,但主節(jié)點道路與省級核心要素道路詳細程度接近。主節(jié)點道路要素個數(shù)是省級核心要素道路要素個數(shù)的4.7倍,但對應關系主要是1:n的情況,因此,空間目標匹配精度較高。
綜上所述,空間目標匹配能夠對多源、多尺度道路數(shù)據(jù)進行目標匹配,并提取變化要素,線狀地物空間目標匹配精度主要受匹配數(shù)據(jù)源的比例尺差異的影響,比例尺相差增大時,匹配精度隨之降低。
屬性的變化在幾何匹配之后進行,屬性匹配只需要通過字符串或數(shù)字比較,只要能夠保證幾何匹配準確,屬性變化的提取就不會出錯,因此,上述兩次試驗不對屬性的匹配精度進行評價。通過空間目標匹配,可以快速發(fā)現(xiàn)多源數(shù)據(jù)中相同道路的屬性變化和不一致。
空間目標匹配能夠有效解決多源、多尺度道路數(shù)據(jù)在融合過程中變化要素提取的問題,也能夠解決人工判斷比較困難的屬性的變化和不一致。匹配算法不僅可應用于道路的匹配,對水系線等線狀地物同樣有效。在“天地圖·福建”、數(shù)字城市等項目建成后,對空間數(shù)據(jù)的現(xiàn)勢性要求越來越高,為實現(xiàn)快速更新,除進行重要地物的變化監(jiān)測,還必須有技術手段能夠將多源、多尺度數(shù)據(jù)進行快速融合。
按照天地圖的建設需要,福建省將開展天地圖數(shù)據(jù)母庫建設,母庫將是“天地圖·福建”的主要數(shù)據(jù)源,也是即將開展的國家應急測繪保障能力建設的基礎。從原始庫到精準版母庫數(shù)據(jù)、精準版母庫轉換成公開版數(shù)據(jù)的過程中,都涉及多源、多尺度數(shù)據(jù)協(xié)調處理的問題,因此,空間目標匹配將在這些項目建設中發(fā)揮重要作用。