李 林,程宇翔
(1.重慶市地理信息中心,重慶 401121)
地理編碼也稱地址匹配,是指將地址映射成地理坐標的過程,提供了一種把描述成文本地址的地理位置信息轉換成地理坐標的方式[1]。人類活動中80%以上的信息與地理空間位置有關系,關系的主要紐帶就是地址(地名)信息[2],可見地理編碼技術在地理信息系統應用中的重要性。然而,在數字重慶建設階段,以空間數據的建設、共享和應用為主,非空間數據向空間數據轉化的應用需求不強,對效率和效果要求不高,導致傳統的地理編碼技術在技術上存在一定的缺陷,無法滿足智慧重慶建設中海量文本數據處理的需求。基于上述背景,本文在對標準地名地址數據模型研究的基礎上,設計并研發了一套面向智慧重慶的地理編碼系統。
地址數據模型是地理編碼系統建設的重要內容,與地理編碼的核心算法息息相關。本文從地址數據的層次模型以及每個層次的標準地址表達進行研究與分析。
為適應我國長期以來按照行政區劃自上而下進行管理的方式[3],本文建立的地址數據模型從國家到省、市,一直延伸到最細粒度的門牌號,形成如下8個級別(0~7級)的層次模型:國界及駐地數據、省級行政區劃界線及駐地數據、市級行政區劃界線及駐地數據、區(縣)級行政區劃界線及駐地數據、鄉(鎮、街道)行政區劃界線及駐地數據、行政村(社區)界線及駐地數據、道路中心線數據、地名地址數據。按照上述層次模型,任何一個地址都可表達為“國家+省+市+區(縣)+鄉(鎮、街道)+村(社區)+路+門牌號”,比如“中華人民共和國 重慶市 渝北區 人和街道汪家橋社區 星光大道 62號”。
在上述8級層次模型中,0~5級數據的行政區劃界線為面狀數據,行政區劃駐地為點狀數據,其數據結構僅需要代表該區劃的名稱即可。
第6級數據道路中心線數據為線狀數據,其數據結構僅需要代表該道路的名稱即可。
第7級數據地名地址數據為點狀數據,其數據結構如表1所示。

表1 第7級數據結構
地理編碼系統的總體架構如圖1所示,包括數據成果、核心引擎以及應用系統3個部分。數據成果包括標準地名地址數據以及經過算法處理的地名場數據;核心引擎包括地址管理SDK和地理編碼引擎兩部分,分別以開發包或者服務接口方式支撐地址數據管理系統和地理編碼應用系統的開發;應用系統包括地址數據管理系統、地址編碼應用系統以及后臺管理系統。標準地名地址數據經過地址數據管理處理后形成地名場數據,地理編碼應用系統基于地名場數據和地理編碼引擎提供地理編碼應用服務。

圖1 地理編碼系統總體設計
1)基于全球網格模型的地名數據存儲結構。利用全球網格模型[4,5]存儲地名數據(圖2),解決傳統空間匹配技術中存在的空間數據表達能力有限、數據空間分布不均勻、數據組織管理及處理過程復雜繁瑣等問題,利用全球網格系統層次性結構與空間方位具有良好一致性的特點,建立基于整型計算的空間推理方法,有效提高了匹配效率和準確度。

圖2 全球網格模型
2)基于文本的上下文空間語義建模。自然語言文本空間語義的隨意性、相對性、模糊性和不確切性給地理編碼造成了干擾。通過空間認知心理模型,利用多源空間數據集進行計算,自動獲取地理實體[6]的空間范圍,實現文本的上下文空間語義建模,有效解決了地名邊界模糊性問題,可區分異地同名、地名層次結構等情況。
3)基于Socket通信技術的地理編碼引擎。面向海量地址數據的地理編碼引擎,需要特別高效的數據處理和傳輸技術。本系統建設利用Socket通信技術,實現服務端匹配引擎的高效傳輸,實現數據傳輸時間短、性能高、安全性好、數據量小的特點,為大批量數據的高效處理奠定基礎。
2.3.1 核心引擎
1)地址管理SDK。支撐地址數據管理系統的開發,實現對地名地址數據入庫、地名數據預處理、地名場數據生產、地名場數據發布、地名數據的增刪改、地名同義詞定義等功能。主要接口如下:①地名地址數據入庫。功能說明:提供省(市)、區縣、鄉鎮街道、社區村、路網、地址、POI等不同行政級別數據的點狀、線狀、面狀數據的入庫功能;參數說明:包括數據類型、文件路徑、地名/地址字段、分詞字段、數據坐標經緯度精度、輸出文件位置等;結果說明:返回結果說明,成功則返回處理時間、數據量總數、過程日志,失敗則返回原因說明。②地名數據預處理。功能說明:對框架數據入庫后的數據進行預處理,去除干擾詞匯;參數說明:包括地名詞匯庫文件,更新后地名詞匯庫文件,預處理配置文件等;結果說明:返回結果說明,成功則返回處理時間、數據量總數、過程日志,失敗則返回原因說明。③地名場數據生產。功能說明:對數據入庫成果進行空間語義地名生產;參數說明:包括待生產數據路徑,生成成果路徑;結果說明:返回結果說明,成功則返回處理時間、數據量總數、過程日志(記錄每一個地名詞的處理時間,可按照時間進行排序,查找耗時最長的地名詞),失敗則返回原因說明。④數據發布。功能說明:發布地名場生產成果,形成匹配引擎能用的數據成果;參數說明:待發布數據路徑,發布成果路徑;結果說明:返回結果說明,成功則返回處理時間、過程日志,失敗則返回原因說明。
2)地理編碼引擎。以Web Service形式提供正向和逆向編碼服務,地址補全服務等,包括Rest和Soap兩種接口方式[7],其中正向地理編碼包括單條地理編碼和批量地理編碼。主要接口如下:①正向地理編碼服務(單條和批量)。功能說明:提供正向地理編碼服務;參數說明:Web服務的傳入參數包括但不限于以下參數:地址、參考分值、分頁數、分頁結果條數、返回格式(json,xml等)、用戶Key;結果說明:以xml或json方式返回匹配結果。結果中包括但不限于待匹配地址、匹配結果、結果評價、(x,y)、結果個數、分頁數、分頁結果條數等。②逆向地理編碼服務(單條和批量)。功能說明:提供逆向地理編碼服務。參數說明:Web服務的傳入參數包括但不限于以下參數:(x,y)、允許誤差范圍、參考分值、分頁數、分頁結果條數、返回格式(json,xml等)、用戶Key。結果說明:以xml或json方式返回匹配結果。結果中包括但不限于匹配結果、(x,y)、結果個數、分頁數、分頁結果條數等。③地址補全服務。功能說明:根據輸入關鍵字提供包含關鍵字的地址數據作為用戶輸入的提示信息,類似SQL中的Like查詢;參數說明:查詢關鍵字;結果說明:返回包含關鍵字的地址數據,對于多個結果的,按照地址使用頻次由高到低進行排序。
2.3.2 地理編碼系統
1)地址數據管理系統。提供地名地址數據的增加刪除、歷史地址數據管理、標準詞管理、同義詞管理等功能(圖3)。

圖3 地址數據管理系統功能模塊
地址數據管理系統開發成果如圖4所示,以向導式的方式引導用戶進行數據入庫、數據索引、數據發布等工作,方便用戶操作。同時考慮到入庫數據處理過程時間較長,系統引入隊列操作模式,力爭做到一鍵操作完成更多任務,同時以多種方式提示用戶系統的處理進度。

圖4 地址數據管理系統成果截圖
2)地理編碼應用系統。直接向用戶提供地理編碼應用功能,包括正向和逆向兩類編碼應用。支持單條匹配,也支持txt、csv等多種格式的批量匹配(圖5)。

圖5 地理編碼應用系統功能模塊
地理編碼應用系統如圖6所示,用戶登錄系統后可以看到所有已完成和正在進行的匹配項目,可提供匹配結果下載和地圖疊加等多種應用方式。

圖6 地理編碼應用系統成果截圖
利用本文地理編碼系統成果處理全重慶市約900萬 條地址數據成果進行效率測試,測試樣本為重慶市北碚區人口數據,約86萬條,測試方案及結果如表2所示。

表2 地理編碼效率測試方案及結果
針對每個機器進行3次測試的平均結果顯示,該系統在一般的工作站上運行效率高達3 583條/s,可完全滿足智慧城市地理編碼系統的速度要求。此外還針對系統進行了CPU和內存的測試,表明該系統運行效率與設備CPU和內存呈線性正比關系。
對北碚區約86萬條人口數據空間化后,與建筑物疊加應用,實現網格化的以房管人,為社區的人口流動管理提供堅實的技術基礎。通過圖7~9可以看出,絕大部分人口數據都疊加在建筑物上面,表明引擎匹配效果良好,事實上,經人工逐條確認,匹配準確率達92.3%。

圖7 匹配結果與建筑物疊加效果

圖8 匹配結果文本形式(帶空間坐標)

圖9 “以房管人”案例
除上述案例外,該系統還在第一次全市地理國情普查數據處理、兩江新區市場監管信用平臺、全市工商法人數據庫建設中得到廣泛應用,大大提高了非空間數據向空間數據轉化的效率,更是為智慧重慶建設所需的數據資源整合應用提供了先進的技術手段。
從服務于智慧重慶建設出發,研究了標準地名地址數據模型,并在此基礎上開展了地理編碼系統設計與研發,包括核心引擎、地址數據管理系統、地理編碼應用系統等主要內容,通過海量的數據測試和驗證,該系統在地理編碼處理效率、匹配準確度上有良好的表現,在北碚區流動人口管理平臺、第一次全市地理國情普查數據處理、兩江新區市場監管信用平臺、全市工商法人數據庫建設中得到了應用,下一步將著重從地址數據的豐富性、匹配引擎的智能化等角度繼續研究,為下一步智慧重慶的建設提供更好的應用。
[1]Clodoveu A,Davis J,Fonseca F T.The Certainty of Locations Produced by an Address Geocoding System[J].Geoinformatica,2007,11(1): 103-129
[2]佟文會,江洲,李小林.地址編碼關鍵技術——地址數據內容規范研究[J].標準科學,2009(11):39-42
[3]魏金明,仲偉政.基于置信度的地址匹配方法初探[J].測繪科學,2015(1):122-124
[4]童曉沖,賁進,秦志遠,等.基于全球離散網格框架的局部網格劃分[J].測繪學報,2009(6):506-513
[5]趙學勝,侯妙樂,白建軍.全球離散格網的空間數字建模[M].北京:測繪出版社,2007
[6]于煥菊,李云嶺,齊清文.顧忌實體空間關系的地址編碼方法研究[J].地理與地理信息科學,2013(9):49-52
[7]楊麗.“數字湖北”中文地理編碼數據庫建設與服務共享[J].地理空間信息,2013,11(增刊):37-41