李 林,程宇翔
(1.重慶市地理信息中心,重慶 401121)
地理編碼也稱地址匹配,是指將地址映射成地理坐標(biāo)的過程,提供了一種把描述成文本地址的地理位置信息轉(zhuǎn)換成地理坐標(biāo)的方式[1]。人類活動(dòng)中80%以上的信息與地理空間位置有關(guān)系,關(guān)系的主要紐帶就是地址(地名)信息[2],可見地理編碼技術(shù)在地理信息系統(tǒng)應(yīng)用中的重要性。然而,在數(shù)字重慶建設(shè)階段,以空間數(shù)據(jù)的建設(shè)、共享和應(yīng)用為主,非空間數(shù)據(jù)向空間數(shù)據(jù)轉(zhuǎn)化的應(yīng)用需求不強(qiáng),對效率和效果要求不高,導(dǎo)致傳統(tǒng)的地理編碼技術(shù)在技術(shù)上存在一定的缺陷,無法滿足智慧重慶建設(shè)中海量文本數(shù)據(jù)處理的需求?;谏鲜霰尘?,本文在對標(biāo)準(zhǔn)地名地址數(shù)據(jù)模型研究的基礎(chǔ)上,設(shè)計(jì)并研發(fā)了一套面向智慧重慶的地理編碼系統(tǒng)。
地址數(shù)據(jù)模型是地理編碼系統(tǒng)建設(shè)的重要內(nèi)容,與地理編碼的核心算法息息相關(guān)。本文從地址數(shù)據(jù)的層次模型以及每個(gè)層次的標(biāo)準(zhǔn)地址表達(dá)進(jìn)行研究與分析。
為適應(yīng)我國長期以來按照行政區(qū)劃自上而下進(jìn)行管理的方式[3],本文建立的地址數(shù)據(jù)模型從國家到省、市,一直延伸到最細(xì)粒度的門牌號(hào),形成如下8個(gè)級(jí)別(0~7級(jí))的層次模型:國界及駐地?cái)?shù)據(jù)、省級(jí)行政區(qū)劃界線及駐地?cái)?shù)據(jù)、市級(jí)行政區(qū)劃界線及駐地?cái)?shù)據(jù)、區(qū)(縣)級(jí)行政區(qū)劃界線及駐地?cái)?shù)據(jù)、鄉(xiāng)(鎮(zhèn)、街道)行政區(qū)劃界線及駐地?cái)?shù)據(jù)、行政村(社區(qū))界線及駐地?cái)?shù)據(jù)、道路中心線數(shù)據(jù)、地名地址數(shù)據(jù)。按照上述層次模型,任何一個(gè)地址都可表達(dá)為“國家+省+市+區(qū)(縣)+鄉(xiāng)(鎮(zhèn)、街道)+村(社區(qū))+路+門牌號(hào)”,比如“中華人民共和國 重慶市 渝北區(qū) 人和街道汪家橋社區(qū) 星光大道 62號(hào)”。
在上述8級(jí)層次模型中,0~5級(jí)數(shù)據(jù)的行政區(qū)劃界線為面狀數(shù)據(jù),行政區(qū)劃駐地為點(diǎn)狀數(shù)據(jù),其數(shù)據(jù)結(jié)構(gòu)僅需要代表該區(qū)劃的名稱即可。
第6級(jí)數(shù)據(jù)道路中心線數(shù)據(jù)為線狀數(shù)據(jù),其數(shù)據(jù)結(jié)構(gòu)僅需要代表該道路的名稱即可。
第7級(jí)數(shù)據(jù)地名地址數(shù)據(jù)為點(diǎn)狀數(shù)據(jù),其數(shù)據(jù)結(jié)構(gòu)如表1所示。
表1 第7級(jí)數(shù)據(jù)結(jié)構(gòu)
地理編碼系統(tǒng)的總體架構(gòu)如圖1所示,包括數(shù)據(jù)成果、核心引擎以及應(yīng)用系統(tǒng)3個(gè)部分。數(shù)據(jù)成果包括標(biāo)準(zhǔn)地名地址數(shù)據(jù)以及經(jīng)過算法處理的地名場數(shù)據(jù);核心引擎包括地址管理SDK和地理編碼引擎兩部分,分別以開發(fā)包或者服務(wù)接口方式支撐地址數(shù)據(jù)管理系統(tǒng)和地理編碼應(yīng)用系統(tǒng)的開發(fā);應(yīng)用系統(tǒng)包括地址數(shù)據(jù)管理系統(tǒng)、地址編碼應(yīng)用系統(tǒng)以及后臺(tái)管理系統(tǒng)。標(biāo)準(zhǔn)地名地址數(shù)據(jù)經(jīng)過地址數(shù)據(jù)管理處理后形成地名場數(shù)據(jù),地理編碼應(yīng)用系統(tǒng)基于地名場數(shù)據(jù)和地理編碼引擎提供地理編碼應(yīng)用服務(wù)。
圖1 地理編碼系統(tǒng)總體設(shè)計(jì)
1)基于全球網(wǎng)格模型的地名數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。利用全球網(wǎng)格模型[4,5]存儲(chǔ)地名數(shù)據(jù)(圖2),解決傳統(tǒng)空間匹配技術(shù)中存在的空間數(shù)據(jù)表達(dá)能力有限、數(shù)據(jù)空間分布不均勻、數(shù)據(jù)組織管理及處理過程復(fù)雜繁瑣等問題,利用全球網(wǎng)格系統(tǒng)層次性結(jié)構(gòu)與空間方位具有良好一致性的特點(diǎn),建立基于整型計(jì)算的空間推理方法,有效提高了匹配效率和準(zhǔn)確度。
圖2 全球網(wǎng)格模型
2)基于文本的上下文空間語義建模。自然語言文本空間語義的隨意性、相對性、模糊性和不確切性給地理編碼造成了干擾。通過空間認(rèn)知心理模型,利用多源空間數(shù)據(jù)集進(jìn)行計(jì)算,自動(dòng)獲取地理實(shí)體[6]的空間范圍,實(shí)現(xiàn)文本的上下文空間語義建模,有效解決了地名邊界模糊性問題,可區(qū)分異地同名、地名層次結(jié)構(gòu)等情況。
3)基于Socket通信技術(shù)的地理編碼引擎。面向海量地址數(shù)據(jù)的地理編碼引擎,需要特別高效的數(shù)據(jù)處理和傳輸技術(shù)。本系統(tǒng)建設(shè)利用Socket通信技術(shù),實(shí)現(xiàn)服務(wù)端匹配引擎的高效傳輸,實(shí)現(xiàn)數(shù)據(jù)傳輸時(shí)間短、性能高、安全性好、數(shù)據(jù)量小的特點(diǎn),為大批量數(shù)據(jù)的高效處理奠定基礎(chǔ)。
2.3.1 核心引擎
1)地址管理SDK。支撐地址數(shù)據(jù)管理系統(tǒng)的開發(fā),實(shí)現(xiàn)對地名地址數(shù)據(jù)入庫、地名數(shù)據(jù)預(yù)處理、地名場數(shù)據(jù)生產(chǎn)、地名場數(shù)據(jù)發(fā)布、地名數(shù)據(jù)的增刪改、地名同義詞定義等功能。主要接口如下:①地名地址數(shù)據(jù)入庫。功能說明:提供?。ㄊ校?、區(qū)縣、鄉(xiāng)鎮(zhèn)街道、社區(qū)村、路網(wǎng)、地址、POI等不同行政級(jí)別數(shù)據(jù)的點(diǎn)狀、線狀、面狀數(shù)據(jù)的入庫功能;參數(shù)說明:包括數(shù)據(jù)類型、文件路徑、地名/地址字段、分詞字段、數(shù)據(jù)坐標(biāo)經(jīng)緯度精度、輸出文件位置等;結(jié)果說明:返回結(jié)果說明,成功則返回處理時(shí)間、數(shù)據(jù)量總數(shù)、過程日志,失敗則返回原因說明。②地名數(shù)據(jù)預(yù)處理。功能說明:對框架數(shù)據(jù)入庫后的數(shù)據(jù)進(jìn)行預(yù)處理,去除干擾詞匯;參數(shù)說明:包括地名詞匯庫文件,更新后地名詞匯庫文件,預(yù)處理配置文件等;結(jié)果說明:返回結(jié)果說明,成功則返回處理時(shí)間、數(shù)據(jù)量總數(shù)、過程日志,失敗則返回原因說明。③地名場數(shù)據(jù)生產(chǎn)。功能說明:對數(shù)據(jù)入庫成果進(jìn)行空間語義地名生產(chǎn);參數(shù)說明:包括待生產(chǎn)數(shù)據(jù)路徑,生成成果路徑;結(jié)果說明:返回結(jié)果說明,成功則返回處理時(shí)間、數(shù)據(jù)量總數(shù)、過程日志(記錄每一個(gè)地名詞的處理時(shí)間,可按照時(shí)間進(jìn)行排序,查找耗時(shí)最長的地名詞),失敗則返回原因說明。④數(shù)據(jù)發(fā)布。功能說明:發(fā)布地名場生產(chǎn)成果,形成匹配引擎能用的數(shù)據(jù)成果;參數(shù)說明:待發(fā)布數(shù)據(jù)路徑,發(fā)布成果路徑;結(jié)果說明:返回結(jié)果說明,成功則返回處理時(shí)間、過程日志,失敗則返回原因說明。
2)地理編碼引擎。以Web Service形式提供正向和逆向編碼服務(wù),地址補(bǔ)全服務(wù)等,包括Rest和Soap兩種接口方式[7],其中正向地理編碼包括單條地理編碼和批量地理編碼。主要接口如下:①正向地理編碼服務(wù)(單條和批量)。功能說明:提供正向地理編碼服務(wù);參數(shù)說明:Web服務(wù)的傳入?yún)?shù)包括但不限于以下參數(shù):地址、參考分值、分頁數(shù)、分頁結(jié)果條數(shù)、返回格式(json,xml等)、用戶Key;結(jié)果說明:以xml或json方式返回匹配結(jié)果。結(jié)果中包括但不限于待匹配地址、匹配結(jié)果、結(jié)果評價(jià)、(x,y)、結(jié)果個(gè)數(shù)、分頁數(shù)、分頁結(jié)果條數(shù)等。②逆向地理編碼服務(wù)(單條和批量)。功能說明:提供逆向地理編碼服務(wù)。參數(shù)說明:Web服務(wù)的傳入?yún)?shù)包括但不限于以下參數(shù):(x,y)、允許誤差范圍、參考分值、分頁數(shù)、分頁結(jié)果條數(shù)、返回格式(json,xml等)、用戶Key。結(jié)果說明:以xml或json方式返回匹配結(jié)果。結(jié)果中包括但不限于匹配結(jié)果、(x,y)、結(jié)果個(gè)數(shù)、分頁數(shù)、分頁結(jié)果條數(shù)等。③地址補(bǔ)全服務(wù)。功能說明:根據(jù)輸入關(guān)鍵字提供包含關(guān)鍵字的地址數(shù)據(jù)作為用戶輸入的提示信息,類似SQL中的Like查詢;參數(shù)說明:查詢關(guān)鍵字;結(jié)果說明:返回包含關(guān)鍵字的地址數(shù)據(jù),對于多個(gè)結(jié)果的,按照地址使用頻次由高到低進(jìn)行排序。
2.3.2 地理編碼系統(tǒng)
1)地址數(shù)據(jù)管理系統(tǒng)。提供地名地址數(shù)據(jù)的增加刪除、歷史地址數(shù)據(jù)管理、標(biāo)準(zhǔn)詞管理、同義詞管理等功能(圖3)。
圖3 地址數(shù)據(jù)管理系統(tǒng)功能模塊
地址數(shù)據(jù)管理系統(tǒng)開發(fā)成果如圖4所示,以向?qū)降姆绞揭龑?dǎo)用戶進(jìn)行數(shù)據(jù)入庫、數(shù)據(jù)索引、數(shù)據(jù)發(fā)布等工作,方便用戶操作。同時(shí)考慮到入庫數(shù)據(jù)處理過程時(shí)間較長,系統(tǒng)引入隊(duì)列操作模式,力爭做到一鍵操作完成更多任務(wù),同時(shí)以多種方式提示用戶系統(tǒng)的處理進(jìn)度。
圖4 地址數(shù)據(jù)管理系統(tǒng)成果截圖
2)地理編碼應(yīng)用系統(tǒng)。直接向用戶提供地理編碼應(yīng)用功能,包括正向和逆向兩類編碼應(yīng)用。支持單條匹配,也支持txt、csv等多種格式的批量匹配(圖5)。
圖5 地理編碼應(yīng)用系統(tǒng)功能模塊
地理編碼應(yīng)用系統(tǒng)如圖6所示,用戶登錄系統(tǒng)后可以看到所有已完成和正在進(jìn)行的匹配項(xiàng)目,可提供匹配結(jié)果下載和地圖疊加等多種應(yīng)用方式。
圖6 地理編碼應(yīng)用系統(tǒng)成果截圖
利用本文地理編碼系統(tǒng)成果處理全重慶市約900萬 條地址數(shù)據(jù)成果進(jìn)行效率測試,測試樣本為重慶市北碚區(qū)人口數(shù)據(jù),約86萬條,測試方案及結(jié)果如表2所示。
表2 地理編碼效率測試方案及結(jié)果
針對每個(gè)機(jī)器進(jìn)行3次測試的平均結(jié)果顯示,該系統(tǒng)在一般的工作站上運(yùn)行效率高達(dá)3 583條/s,可完全滿足智慧城市地理編碼系統(tǒng)的速度要求。此外還針對系統(tǒng)進(jìn)行了CPU和內(nèi)存的測試,表明該系統(tǒng)運(yùn)行效率與設(shè)備CPU和內(nèi)存呈線性正比關(guān)系。
對北碚區(qū)約86萬條人口數(shù)據(jù)空間化后,與建筑物疊加應(yīng)用,實(shí)現(xiàn)網(wǎng)格化的以房管人,為社區(qū)的人口流動(dòng)管理提供堅(jiān)實(shí)的技術(shù)基礎(chǔ)。通過圖7~9可以看出,絕大部分人口數(shù)據(jù)都疊加在建筑物上面,表明引擎匹配效果良好,事實(shí)上,經(jīng)人工逐條確認(rèn),匹配準(zhǔn)確率達(dá)92.3%。
圖7 匹配結(jié)果與建筑物疊加效果
圖8 匹配結(jié)果文本形式(帶空間坐標(biāo))
圖9 “以房管人”案例
除上述案例外,該系統(tǒng)還在第一次全市地理國情普查數(shù)據(jù)處理、兩江新區(qū)市場監(jiān)管信用平臺(tái)、全市工商法人數(shù)據(jù)庫建設(shè)中得到廣泛應(yīng)用,大大提高了非空間數(shù)據(jù)向空間數(shù)據(jù)轉(zhuǎn)化的效率,更是為智慧重慶建設(shè)所需的數(shù)據(jù)資源整合應(yīng)用提供了先進(jìn)的技術(shù)手段。
從服務(wù)于智慧重慶建設(shè)出發(fā),研究了標(biāo)準(zhǔn)地名地址數(shù)據(jù)模型,并在此基礎(chǔ)上開展了地理編碼系統(tǒng)設(shè)計(jì)與研發(fā),包括核心引擎、地址數(shù)據(jù)管理系統(tǒng)、地理編碼應(yīng)用系統(tǒng)等主要內(nèi)容,通過海量的數(shù)據(jù)測試和驗(yàn)證,該系統(tǒng)在地理編碼處理效率、匹配準(zhǔn)確度上有良好的表現(xiàn),在北碚區(qū)流動(dòng)人口管理平臺(tái)、第一次全市地理國情普查數(shù)據(jù)處理、兩江新區(qū)市場監(jiān)管信用平臺(tái)、全市工商法人數(shù)據(jù)庫建設(shè)中得到了應(yīng)用,下一步將著重從地址數(shù)據(jù)的豐富性、匹配引擎的智能化等角度繼續(xù)研究,為下一步智慧重慶的建設(shè)提供更好的應(yīng)用。
[1]Clodoveu A,Davis J,F(xiàn)onseca F T.The Certainty of Locations Produced by an Address Geocoding System[J].Geoinformatica,2007,11(1): 103-129
[2]佟文會(huì),江洲,李小林.地址編碼關(guān)鍵技術(shù)——地址數(shù)據(jù)內(nèi)容規(guī)范研究[J].標(biāo)準(zhǔn)科學(xué),2009(11):39-42
[3]魏金明,仲偉政.基于置信度的地址匹配方法初探[J].測繪科學(xué),2015(1):122-124
[4]童曉沖,賁進(jìn),秦志遠(yuǎn),等.基于全球離散網(wǎng)格框架的局部網(wǎng)格劃分[J].測繪學(xué)報(bào),2009(6):506-513
[5]趙學(xué)勝,侯妙樂,白建軍.全球離散格網(wǎng)的空間數(shù)字建模[M].北京:測繪出版社,2007
[6]于煥菊,李云嶺,齊清文.顧忌實(shí)體空間關(guān)系的地址編碼方法研究[J].地理與地理信息科學(xué),2013(9):49-52
[7]楊麗.“數(shù)字湖北”中文地理編碼數(shù)據(jù)庫建設(shè)與服務(wù)共享[J].地理空間信息,2013,11(增刊):37-41