劉芙蓉
(福州市規(guī)劃設計研究院,福建 福州 350100)
天地圖是由國家、省、市三級節(jié)點構成的國家地理信息公共服務平臺。為滿足跨省(市)域、跨層級(國家、省、市)的地理實體與地名興趣點查詢、專題信息、掛接、綜合統(tǒng)計分析等應用需求,國家測繪地理信息局于2013年啟動國家、省、市節(jié)點同構試點,旨在通過節(jié)點間的基礎設施與服務平臺軟件同構與數(shù)據(jù)融合,實現(xiàn)更深層次的分布式信息資源集成與協(xié)同服務,并為未來基于云架構的分布式服務資源動態(tài)調度奠定基礎[1]。數(shù)據(jù)融合包括矢量數(shù)據(jù)融合、影像數(shù)據(jù)融合兩個方面,其中,地名興趣點數(shù)據(jù)融合是矢量數(shù)據(jù)融合中的一項重要內容。
地名興趣點數(shù)據(jù)融合主要工作是對比國家、省、市三級節(jié)點數(shù)據(jù),分析其現(xiàn)勢性、位置精度等指標,按照國家測繪地理信息局下發(fā)的最新規(guī)范和要求進行數(shù)據(jù)融合,并進行數(shù)據(jù)判重、分類代碼統(tǒng)一、品牌詞、簡稱及重要度等五個方面的完善優(yōu)化工作[2,3]。天地圖·福州作為市級節(jié)點,需要跟省級節(jié)點天地圖·福建地名興趣點數(shù)據(jù)進行融合,但其地名興趣點數(shù)據(jù)的組織編碼方式與省級節(jié)點、國家級節(jié)點存在巨大差異,要實現(xiàn)國家、省、市三級節(jié)點數(shù)據(jù)融合還存在較大問題,包括如何進行快速代碼轉換、數(shù)據(jù)判重、品牌詞自動賦值等問題。
FME(Feature Manipulation Engine空間數(shù)據(jù)操作引擎)是對語義數(shù)據(jù)轉換方法的具體實現(xiàn)。它是加拿大Safe Software公司推出的空間數(shù)據(jù)轉換處理系統(tǒng)FMESuite,支持數(shù)百種不同格式數(shù)據(jù)之間的相互轉換[4],而且能夠將豐富的GIS數(shù)據(jù)處理功能結合在一起[5],F(xiàn)ME在GIS數(shù)據(jù)跨平臺轉換方面具有良好的通用性和可操作性,功能強大[6]。FME語義映射文件應用的是一種宏語言,有自成體系的變量和函數(shù),能夠同時識別和處理多種文件格式數(shù)據(jù)、并且處理速度比ArcMap處理速度快。本文將制定出地名興趣點融合的技術路線,并基于FME軟件,針對這些地名興趣點數(shù)據(jù)融合技術路線中存在的問題進行相關技術研究,從而極大限度地提高地名興趣點數(shù)據(jù)融合效率。
按照天地圖數(shù)據(jù)融合要求,分析現(xiàn)有天地圖·福州現(xiàn)有地名興趣點數(shù)據(jù)情況,其問題主要有三個大方面:①編碼標準采用《國民經(jīng)濟行業(yè)分類與代碼》,與天地圖地名和興趣點數(shù)據(jù)融合標準采用的國家基礎地理信息中心制定的《天地圖母庫POI分類分級與代碼表》規(guī)定的編碼方式差異較大;②與省級節(jié)點地名興趣點數(shù)據(jù)存在較大的重復點;③缺少品牌詞、重要度、簡稱等字段。
針對以上問題,我們知道,在進行數(shù)據(jù)融合之前,首先需對現(xiàn)有數(shù)據(jù)屬性字段按照融合技術要求進行改造,使其每個屬性項的名稱、類型和長度都與省級節(jié)點地名興趣點數(shù)據(jù)屬性完全相同;屬性改造完成之后,從省級節(jié)點中提取相應范圍內的地名興趣點數(shù)據(jù),將其與市級節(jié)點地名興趣點數(shù)據(jù)進行對比,查找出重復點,結合現(xiàn)勢性、位置精度等優(yōu)劣對比進行重復點剔除,并將市級節(jié)點數(shù)據(jù)與省級節(jié)點數(shù)據(jù)合并在一起;數(shù)據(jù)合并完成后,最后對必填屬性字段中不一致或者空的字段進行處理,包括代碼轉換、品牌詞、重要度和簡稱的補充。具體的技術路線如圖1所示:
圖1 地名興趣點數(shù)據(jù)融合技術路線
地名興趣點數(shù)據(jù)量大,給地名興趣點數(shù)據(jù)融合帶來巨大挑戰(zhàn)。對于重要度、簡稱字段,按要求對一定范圍內的數(shù)據(jù)點進行賦值。融合進來的省級節(jié)點地名興趣點數(shù)據(jù)自身帶有部分重要度和簡稱,因此這部分工作量較小,而且自動化難度大,基本由人工挑選并賦值。而對于重復點查詢、代碼轉換,需要對所有數(shù)據(jù)進行查詢和處理,工作量大,人工處理花費時間和精力較大,不能保證融合工作按照時間節(jié)點完成,因此,需要針對這些問題進行技術研究,從而提高融合的效率。
省、市節(jié)點不同來源的地名興趣點數(shù)據(jù)存在很多重復點,融合關鍵步驟是需要進行判重處理,選取現(xiàn)勢性好,位置精度高的點作為融合結果??紤]到市級節(jié)點地名興趣點數(shù)據(jù)為近年來數(shù)字福州外業(yè)采集來的數(shù)據(jù),數(shù)據(jù)精度較高,現(xiàn)勢性較好,因此,本次融合以市級節(jié)點地名興趣點數(shù)據(jù)作為基礎數(shù)據(jù),省節(jié)點地名興趣點數(shù)據(jù)當作更新資料數(shù)據(jù)。分析數(shù)據(jù)情況,重復點的出現(xiàn)情況主要有幾種,包括:①位置名稱完全一致的;②名稱相同位置有偏差的;③位置和名稱都存在差異等三種情況。
對于第一種情況,將不同數(shù)據(jù)源都通過名稱和坐標信息生成一個組合信息字段TEMP,并通過TEMP字段進行表鏈接即可查出不同數(shù)據(jù)源之間的重復點,選擇其中一個數(shù)據(jù)即可。
后面兩種情況需要利用FME軟件構建名稱模糊匹配模塊進行查重,其主要思想如下:
(1)首先將任一要素與其一定距離范圍內的相同類別的點要素進行名稱匹配,取匹配度最高的點要素,并將其匹配度值和匹配上點要素的名稱寫在其屬性里面[7]。
(2)分析匹配結果,匹配度由高到低進行重復點剔除。匹配度為100%,則兩個點要素名稱完成相同;匹配度小于100%,兩個點要素之間名稱可能存在一個或者多個不同字符。匹配度值越小,兩個點要素名稱差異越大,互為重復點的可能性越小,權衡位置精度、現(xiàn)勢性等多重因素,選擇最優(yōu)的點作為結果。
重復點查詢程序如圖2所示,在程序運行過程中,針對不同類別的興趣點,設定不同的重復點查詢的距離,避免漏查。
圖2地名興趣點判重程序
經(jīng)過分析實踐,本文得出利用數(shù)據(jù)名稱與代碼表中關鍵字進行匹配的思想,將數(shù)據(jù)屬性表與代碼表進行屬性鏈接,從而將關鍵字對應的代碼鏈接到對應的數(shù)據(jù)屬性項中。為了保證匹配的正確率,本文采用尾詞匹配原理進行匹配,即通過FME中的StringSearcher函數(shù)和Joiner函數(shù)快速地進行代碼轉。
StringSearcher函數(shù)對指定的表達式執(zhí)行表達式匹配。如果表達式與模式匹配,則通過匹配端口輸出該功能,并且與正則表達式匹配的原始搜索字符串的部分存儲在“匹配結果屬性”中指定的屬性中,否則,它將通過NotMatched端口輸出;而Joiner函數(shù)主要功能是查詢數(shù)據(jù)庫,并獲得與要素相關聯(lián)的屬性。
具體處理過程如下:
(1)根據(jù)《天地圖母庫POI分類分級與代碼表》中分類關鍵字制作一個尾詞關鍵字庫,并保存為.txt格式,如圖3所示。
圖3關鍵字庫
(2)利用StringSearcher函數(shù),將要素中NAME字段與關鍵字詞庫進行尾詞匹配,如圖4所示,將NAME字符串與關鍵字庫從右到左進行匹配,完全匹配,則利用Joiner函數(shù)將該《天地圖母庫POI分類分級與代碼表》中關鍵字所對應的TYPE碼賦給該要素的TYPE屬性字段;未匹配的要素則直接輸出。最后的匹配流程圖如圖5所示。
另外,品牌詞字段同樣具有一個品牌詞賦值表,利用代碼轉換的原理,對詞庫進行更換,也能快速地對品牌詞字段進行賦值。
圖4 StringSearcher函數(shù)界面
圖5 代碼轉換
天地圖數(shù)據(jù)融合是現(xiàn)階段各省每年工作任務中的一項重要內容,如何快速地進行數(shù)據(jù)分析、提取、融合是提高天地圖數(shù)據(jù)融合效率面臨的重大問題。解決這個問題的關鍵在于不斷地總結歸納,發(fā)現(xiàn)問題的共同點,使問題被自動化或者半自動化處理[8],特別是地名興趣點數(shù)據(jù)融合,查重判重、屬性補充完善工作量巨大,利用FME等相關軟件開發(fā)處理工具,很好地提高了融合的效率和正確性。由于分類代碼不夠完善,在代碼轉換過程中還會存在部分點要素無法進行自動化正確分類,需要人工進行補充,后期將不斷補充完善分類代碼表以及相關的文件標準材料,完善程序工具,進一步提高地名興趣點數(shù)據(jù)融合效率。