地理編碼系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

郭會(huì),宋關(guān)福,馬柳青,王少華

(1 中國(guó)科學(xué)院地理科學(xué)與資源研究所,北京100101;2 中國(guó)科學(xué)院研究生院,北京 100039;3北京超圖地理信息技術(shù)有限公司,北京,100085)

論文來(lái)源:中國(guó)測(cè)繪學(xué)會(huì)九屆四次理事會(huì)暨2008年學(xué)術(shù)年會(huì)論文集

摘要:針對(duì)大部分的地理位置信息都采用文本方式進(jìn)行描述,而非地理坐標(biāo),本文提出了地理編碼關(guān)鍵技術(shù)和實(shí)現(xiàn)方法,主要包括地址標(biāo)準(zhǔn)化、地址匹配、地理編碼量化等

關(guān)鍵詞: 地理編碼,地理信息系統(tǒng),地址模型,地址標(biāo)準(zhǔn)化,量化

1 地理編碼概述

地理編碼也稱地址匹配,是指將地址映射成地理坐標(biāo)的過(guò)程,提供了一種把描述成文本地址的地理位置信息轉(zhuǎn)換成地理坐標(biāo)的方式[1]。計(jì)算機(jī)無(wú)法通過(guò)文字?jǐn)⑹鲋苯诱业侥繕?biāo)位置,無(wú)法直接獲取其具體的經(jīng)緯度坐標(biāo)。例如,用“北京市海淀區(qū)復(fù)興路11 號(hào) ”來(lái)表示中國(guó)中央電視臺(tái)的位置,計(jì)算機(jī)無(wú)法僅從“北京市海淀區(qū)復(fù)興路 11 號(hào)” 獲得中央電視臺(tái)的具體坐標(biāo)位置。地理編碼可以利用地址數(shù)據(jù)庫(kù)來(lái)建立地址與地理坐標(biāo)空間的對(duì)應(yīng)關(guān)系[2]。地理編碼是各種算法程序的集合,主要采用結(jié)構(gòu)化的數(shù)據(jù)模型,將各種興趣事件或者現(xiàn)象的文本地址與地址數(shù)據(jù)庫(kù)進(jìn)行匹配[3]。

隨著 GIS 在人們的生產(chǎn)生活中的作用越來(lái)越重要,對(duì)于根據(jù)文本地址快速、準(zhǔn)確的查找其地理坐標(biāo)的需求日益明顯。在互聯(lián)網(wǎng)服務(wù)領(lǐng)域,基于位置的服務(wù)被越來(lái)越多的應(yīng)用,采用地理編碼技術(shù),地圖搜索引擎和地圖服務(wù)網(wǎng)站的準(zhǔn)確度和響應(yīng)速度將得到提高(如圖 1);在公共服務(wù)領(lǐng)域,緊急情況下獲得的地址往往是不完整的、甚至是不準(zhǔn)確的,而需要計(jì)算機(jī)系統(tǒng)快速、準(zhǔn)確定位;SARS 期間,有關(guān)單位每天上報(bào)的新增病例信息中,也包括描述性住址,若要進(jìn)行流行病學(xué)分析,就需要獲取其坐標(biāo)位置[0]。通過(guò)地理編碼,可以實(shí)現(xiàn)原有信息系統(tǒng)和空間信息的融合,將日常的經(jīng)濟(jì)、社會(huì)、人文、歷史、旅游、商業(yè)等一系列城市生活中的信息空間化,用于在空間信息支持下進(jìn)行空間分析和決策應(yīng)[2]。

2 地理編碼設(shè)計(jì)與實(shí)現(xiàn)

地理編碼系統(tǒng)流程如圖 2 所示,主要包括地址標(biāo)準(zhǔn)化、地址匹配和地址量化三個(gè)關(guān)鍵步驟。為了實(shí)現(xiàn)這三個(gè)關(guān)鍵步驟,還需要相應(yīng)的地址模型、地址詞典、地址數(shù)據(jù)庫(kù)以及相應(yīng)的量化規(guī)則。

例如,要對(duì)“北京市海淀區(qū)復(fù)興路 11號(hào)”地址進(jìn)行地理編碼,首先要進(jìn)行地址切分、標(biāo)準(zhǔn)化,即轉(zhuǎn)化為 “北京”(市名)、“市” (市級(jí)單位)、“海淀”(區(qū)名)、“區(qū)”(區(qū)級(jí)單位)、“復(fù)興”(街道名)、“路”(街道單位)、 “11”(門牌號(hào)碼)、“號(hào)”(門牌后綴)等結(jié)構(gòu)化的、標(biāo)準(zhǔn)化的詞組。然后,根據(jù)一定的地址匹配策略與GIS系統(tǒng)標(biāo)準(zhǔn)地址庫(kù)中的地址信息進(jìn)行比對(duì),獲得相匹配的地址記錄集,并通過(guò)插值等方式獲取一個(gè)對(duì)應(yīng)的空間地理坐標(biāo)值。最后,地理編碼量化就是對(duì)地理編碼過(guò)程的好壞程度進(jìn)行數(shù)字化評(píng)價(jià),將與“北京市海淀區(qū)復(fù)興路 11 號(hào)”相匹配的一組地址,按照匹配程度由高到低的呈現(xiàn)給用戶。

2.1 地址標(biāo)準(zhǔn)化

地址標(biāo)準(zhǔn)化,又稱地址規(guī)范化,就是將一般形式的地址字符串轉(zhuǎn)化為計(jì)算機(jī)能夠理解的結(jié)構(gòu)化的單詞組[1]。地址字符串的轉(zhuǎn)化(又稱為分詞)需要借助地址詞典。中文地址詞典可以從《中國(guó)地名用詞庫(kù)》(CPWORD)[4]中獲取。在本系統(tǒng)中,地址詞典可以根據(jù)地址數(shù)據(jù)庫(kù)中的地址進(jìn)行統(tǒng)計(jì)學(xué)習(xí),生成地址詞典。如要將“北京市海淀區(qū)”分解為“北京市”、“海淀區(qū)”,則需要地址詞典中出現(xiàn)高頻詞“北京市”、“海淀區(qū)”。詞組的結(jié)構(gòu)化的組成方式就是地址模型,不同的國(guó)家和地區(qū)具有不同的地址表述方式,也就有不同的地址模型。大多數(shù)地址都是按照地址的層級(jí)關(guān)系來(lái)描述的(比如 “北京市海淀區(qū)復(fù)興路 11 號(hào)”中“北京市” >“海淀區(qū)”>“復(fù)興路”>“11 號(hào)”),我們可以構(gòu)建基于層級(jí)地址的地址模型(Level Based Model, LBM )[5]。表 1 是本系統(tǒng)采用的中文城市地址的地址模型。

地址切分是地址標(biāo)準(zhǔn)化的關(guān)鍵。地址切分就是根據(jù)輸入地址字符串、地址詞典、地址模型,將地址分解為不同的詞組。西文地址分解可以按照空格、標(biāo)點(diǎn)等進(jìn)行單詞分割,中文地址分解需要借助地名語(yǔ)料庫(kù)(地址詞典)進(jìn)行中文分詞,中文地名分詞可參看文獻(xiàn)[4]。

地址切分后,需要對(duì)地址各個(gè)關(guān)鍵詞進(jìn)行標(biāo)準(zhǔn)化處理。(1)縮寫和簡(jiǎn)寫標(biāo)準(zhǔn)化。 “中科院”標(biāo)準(zhǔn)化為“中國(guó)科學(xué)院”、“發(fā)改委”標(biāo)準(zhǔn)化為“發(fā)展與改革委員會(huì)”等。(2)別名與別稱標(biāo)準(zhǔn)化。 “魯”標(biāo)準(zhǔn)化為“山東”、“滬”標(biāo)準(zhǔn)化為“上?!薄ⅰ皶x”標(biāo)準(zhǔn)化為“山西”。(3)少詞或者多詞標(biāo)準(zhǔn)化。 “北京海淀”、“北京市的海淀區(qū)”標(biāo)準(zhǔn)化為“北京市海淀區(qū)”[5]。

2.2 地址匹配

地址匹配就是將標(biāo)準(zhǔn)化后的地址各個(gè)元素與地址數(shù)據(jù)庫(kù)中的各條記錄按照一定的規(guī)則進(jìn)行匹配,從而獲得匹配記錄的過(guò)程[1]。地址匹配的關(guān)鍵是對(duì)地址數(shù)據(jù)庫(kù)的查詢和比較。為了減少查詢和比較次數(shù),同時(shí)保證匹配的成功率和準(zhǔn)確率,實(shí)現(xiàn)模糊匹配,較好的方法就是為地址數(shù)據(jù)庫(kù)中的地址字段建立索引。根據(jù)不同的地址模型,可以對(duì)某個(gè)權(quán)重較高字段建立索引。如英文地址中對(duì)街道名稱創(chuàng)建索引。建立索引后,減少了數(shù)據(jù)庫(kù)的讀取次數(shù)和比較次數(shù),將地址匹配縮小在較小的范圍內(nèi)。

與此同時(shí),由于用戶輸入地址存在錯(cuò)別字、同音字、未標(biāo)準(zhǔn)化等情況,為了實(shí)現(xiàn)模糊匹配,在創(chuàng)建索引時(shí),還需要考慮各種語(yǔ)言的拼寫習(xí)慣。中文地址的索引,可以采用漢語(yǔ)拼音首字母進(jìn)行索引。例如,“北京”、 “寶雞”均被索引為“BJ”,“河南”、“湖南”、 “海南”、“淮南”被索引為“HN”。(如圖 3所示)。

在某些地址格式(如美國(guó)街道地址)中,門牌號(hào)碼均勻分布于街道兩側(cè)。其街道左右兩邊分別為奇偶門牌號(hào)碼[6]。根據(jù)具體的地址模型,可以對(duì)門牌號(hào)碼進(jìn)行插值處理,獲得精確的匹配坐標(biāo)點(diǎn)[1]。