劉 洋,孫 偉,李成名
(1. 聊城大學(xué) 環(huán)境與規(guī)劃學(xué)院,山東 聊城 252000;2. 山東科技大學(xué) 測繪科學(xué)與工程學(xué)院,山東 青島 266000;3. 中國測繪科學(xué)研究院,北京 100039)
地名地址數(shù)據(jù)是“數(shù)字城市”地理空間框架的重要組成部分,具有掛接不同專題數(shù)據(jù)信息,提升空間數(shù)據(jù)共享水平的重要作用[1]。近年來,政府各部門及社會(huì)各界對基礎(chǔ)地理信息數(shù)據(jù)時(shí)效性的要求越來越高,一年一次的更新頻率已不能滿足需求,同時(shí)為了節(jié)省基礎(chǔ)測繪財(cái)政資金,基礎(chǔ)測繪數(shù)據(jù)需要采取動(dòng)態(tài)更新和定期更新相結(jié)合的方式[2]。但是傳統(tǒng)的數(shù)據(jù)采集方法已不能滿足當(dāng)前需求,這給要求數(shù)據(jù)準(zhǔn)確且更新快速的部門帶來了挑戰(zhàn),如何將更新的地名地址信息在采集人員與管理人員之間高效傳遞與共享,是解決地名地址動(dòng)態(tài)更新的重要環(huán)節(jié)。
本文以NewMap為基礎(chǔ)平臺(tái),綜合運(yùn)用移動(dòng)定位及GIS相關(guān)技術(shù),設(shè)計(jì)開發(fā)移動(dòng)PC一體化模式的系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了地名地址采集審核的功能,具有準(zhǔn)確、高效、便捷、一體化的特征,為數(shù)據(jù)采集和管理人員提供了便利的工具。
地名地址數(shù)據(jù)庫從邏輯上分為地名數(shù)據(jù)庫和地址數(shù)據(jù)庫兩大部分[3];在數(shù)據(jù)分類上,地名地址數(shù)據(jù)庫是按照國家標(biāo)準(zhǔn)GB/T 23705-2009《數(shù)字城市信息公共平臺(tái)地名/地址編碼規(guī)則》,使用斯范式(BNF)語法,表1列舉了地名地址數(shù)據(jù)庫中的字段屬性。并將地名地址分為12個(gè)一級(jí)分類包括餐飲、零售業(yè)、汽車、住宿、休閑、公共設(shè)施、交通、文化媒體、金融、教育、電信郵政及其他,以及300多個(gè)二級(jí)分類。
為方便采集員能及時(shí)準(zhǔn)確地獲取地名地址數(shù)據(jù)的更新情況,首先對地圖進(jìn)行網(wǎng)格劃分,即將地圖劃分為大小相同的正方形網(wǎng)格單元。為了滿足對地圖格網(wǎng)的查詢和檢索,再將劃分的格網(wǎng)進(jìn)行編碼[4]。每個(gè)網(wǎng)格會(huì)配發(fā)一個(gè)對該網(wǎng)格區(qū)域較為熟悉的采集員,并規(guī)定要定期對該區(qū)域進(jìn)行巡查核對,以便準(zhǔn)確、及時(shí)地更新地名地址數(shù)據(jù)。由于地圖進(jìn)行了格網(wǎng)劃分,并且每個(gè)格網(wǎng)由專門的采集員負(fù)責(zé),地名地址數(shù)據(jù)的更新效率得到很大提高。
表1 地名地址數(shù)據(jù)結(jié)構(gòu)表Tab.1 Data structure of toponymy and address
系統(tǒng)設(shè)計(jì)的目的是幫助相關(guān)部門人員實(shí)現(xiàn)對地名地址數(shù)據(jù)的動(dòng)態(tài)更新,確保數(shù)據(jù)采集的準(zhǔn)確化、數(shù)據(jù)更新的及時(shí)化,以滿足人們對地名地址數(shù)據(jù)準(zhǔn)確性及時(shí)效性的需求,同時(shí)也為智慧城市的發(fā)展奠定良好基礎(chǔ)。地名地址動(dòng)態(tài)更新的工作細(xì)小而繁雜,環(huán)節(jié)細(xì)致而具體,僅僅依靠相關(guān)部門人員以傳統(tǒng)的方式很難做到數(shù)據(jù)準(zhǔn)確及時(shí)的更新入庫[5]。為實(shí)現(xiàn)地名地址數(shù)據(jù)準(zhǔn)確及時(shí)的更新入庫,本文設(shè)計(jì)了PC管理端和移動(dòng)采集端兩個(gè)子系統(tǒng)有機(jī)配合,以服務(wù)器為媒介實(shí)現(xiàn)多移動(dòng)采集端設(shè)備與PC管理端的數(shù)據(jù)協(xié)同。移動(dòng)采集端定位到待更新的地名地址,采集更新信息并寫入本地?cái)?shù)據(jù)庫,采用Socket通訊傳輸XML文件的數(shù)據(jù)同步方式寫入服務(wù)器數(shù)據(jù)庫。PC管理端創(chuàng)建并分配移動(dòng)采集員賬號(hào),在服務(wù)器中創(chuàng)建規(guī)范地名地址數(shù)據(jù)庫,并將Socket通訊與服務(wù)器連接,利用Restful架構(gòu)對服務(wù)器數(shù)據(jù)庫進(jìn)行增刪改查(簡稱CURD)操作并將更新信息即時(shí)反饋到移動(dòng)采集端,使更新數(shù)據(jù)能夠在管理員與采集員之間實(shí)時(shí)傳遞。具體實(shí)施框架如圖1所示。
圖1 移動(dòng)PC一體化工作模式Fig.1 Pattern of PC-mobile integration
考慮到地名地址動(dòng)態(tài)更新系統(tǒng)的實(shí)用性,本系統(tǒng)采用B/S模式搭建,同時(shí)借鑒層次化設(shè)計(jì)理念,將系統(tǒng)分為3個(gè)組成部分:數(shù)據(jù)層、服務(wù)層、表現(xiàn)層??傮w架構(gòu)如圖2所示。
圖2 系統(tǒng)架構(gòu)Fig.2 System structure
1)數(shù)據(jù)層:主要包括空間數(shù)據(jù)庫、屬性數(shù)據(jù)庫和本地文件??臻g數(shù)據(jù)庫主要存儲(chǔ)基礎(chǔ)地圖數(shù)據(jù)、影像數(shù)據(jù)、地名地址數(shù)據(jù)、格網(wǎng)數(shù)據(jù)、路徑數(shù)據(jù)等;屬性數(shù)據(jù)庫主要存放用戶數(shù)據(jù)信息,如用戶名、密碼、權(quán)限等;本地文件主要包括表格文檔、圖片、視頻等資料。
2)服務(wù)層:主要通過NewMap Service服務(wù)接口實(shí)現(xiàn)對數(shù)據(jù)層的交互、處理與分析,主要包括對地名地址數(shù)據(jù)屬性的查詢、修改、空間定位、空間求交和過濾等服務(wù)。
3)表現(xiàn)層:主要實(shí)現(xiàn)PC管理端及移動(dòng)采集端的客戶端功能,同時(shí)滿足界面設(shè)計(jì)扁平化、用戶操作簡單化的要求,其功能主要包括移動(dòng)采集端對數(shù)據(jù)的采集、上傳、地圖搜素、最短路徑查詢等和PC管理端對數(shù)據(jù)的處理、審核、入庫等。
采集人員攜帶移動(dòng)端采集設(shè)備,登錄系統(tǒng)分配的采集人員賬號(hào),采集需要更新的地名地址,然后利用移動(dòng)采集端的GPS定位功能,在地圖上定位到該地址,點(diǎn)擊“采集”,將其更改的地名及其屬性信息輸入到屬性列表中,并將其更改的照片或視頻信息記錄下來,以待審核人員審核。最后采集人員將采集的信息點(diǎn)擊“上傳”,即可將采集更改的信息上傳至PC管理端,以供審核人員進(jìn)行處理。
審核人員可在PC管理端進(jìn)行審核移動(dòng)端提交的待審核數(shù)據(jù),并將審核通過的數(shù)據(jù)寫入數(shù)據(jù)庫,而審核未通過的原因反饋給采集人員。具體流程如圖3所示。
圖3 動(dòng)態(tài)更新流程Fig.3 Process of real-time data updating
2.4.1 多終端數(shù)據(jù)協(xié)同
傳統(tǒng)的數(shù)據(jù)協(xié)同多采用SQL Server數(shù)據(jù)復(fù)制技術(shù)和基于傳輸XML文件的數(shù)據(jù)同步技術(shù)?;赟QL Server的同步復(fù)制過程對網(wǎng)絡(luò)環(huán)境要求較高,而且在環(huán)境配置方面較為煩瑣,一旦服務(wù)器宕機(jī)就需要重新對其環(huán)境進(jìn)行配置,這不僅浪費(fèi)大量的時(shí)間和精力,還會(huì)導(dǎo)致數(shù)據(jù)同步延時(shí)?;赬ML文件的數(shù)據(jù)同步是單向性的,不能實(shí)現(xiàn)服務(wù)器端與移動(dòng)采集端、PC管理端的雙向互通。本文采用Socket通訊傳輸XML文件的數(shù)據(jù)同步方式,采用多線程服務(wù),實(shí)現(xiàn)服務(wù)器端與多移動(dòng)采集端、PC管理端的數(shù)據(jù)協(xié)同,具有發(fā)送和接收功能[6]。如服務(wù)器端與移動(dòng)采集端通過Socket進(jìn)行連接。當(dāng)移動(dòng)采集端向服務(wù)器端發(fā)送上傳請求,服務(wù)器端通過后由本地?cái)?shù)據(jù)庫生成XML文件傳送至服務(wù)器端,服務(wù)器端接收到移動(dòng)采集端發(fā)來的請求后進(jìn)行XML文件解析并組合成標(biāo)準(zhǔn)SQL語句更新服務(wù)器數(shù)據(jù)庫,再通過自定義的IP進(jìn)行識(shí)別,此時(shí)服務(wù)器會(huì)識(shí)別出與該移動(dòng)采集端匹配的PC管理端,并將更新指令下發(fā)至該P(yáng)C管理端連接的Socket輸出流中,進(jìn)而該P(yáng)C管理端即可通過Socket的輸入流讀取該指令,并對服務(wù)器數(shù)據(jù)庫進(jìn)行CURD操作。PC管理端審核后將更新的數(shù)據(jù)分發(fā)給移動(dòng)采集端的流程是移動(dòng)采集端采集上傳的逆向過程,故不再贅述。流程如圖4所示。
圖4 多終端數(shù)據(jù)協(xié)同F(xiàn)ig.4 Multi-terminal data coordination
2.4.2 地圖緩存技術(shù)優(yōu)化策略
地圖緩存技術(shù)是以空間換取用戶瀏覽時(shí)間的方式來高效解決網(wǎng)絡(luò)帶寬限制、網(wǎng)絡(luò)負(fù)載和延遲[7],從而減輕服務(wù)器負(fù)擔(dān),優(yōu)化移動(dòng)端數(shù)據(jù)采集的速度。而地圖價(jià)值的核心在于其現(xiàn)實(shí)性,即地圖必須最大限度地反映現(xiàn)實(shí)的人文、自然等地理要素,確保各地理要素的真實(shí)性和時(shí)效性。移動(dòng)采集端系統(tǒng)對地圖的時(shí)效性要求較高,但傳統(tǒng)的讀取服務(wù)器地圖數(shù)據(jù)對網(wǎng)絡(luò)環(huán)境要求較高,大大降低了移動(dòng)采集端數(shù)據(jù)采集的效率。為了更好解決上述問題,移動(dòng)采集端在讀取本地緩存文件的基礎(chǔ)上,通過判斷地圖數(shù)據(jù)緩存的時(shí)間,若地圖數(shù)據(jù)緩存的時(shí)間在服務(wù)器更新地圖數(shù)據(jù)之后就認(rèn)為本地?cái)?shù)據(jù)緩存在保鮮期之內(nèi),若超過保鮮期,則不能加載本地緩存,需重新在服務(wù)器端獲取地圖數(shù)據(jù)覆蓋本地緩存文件。采用上述通過判斷保鮮期優(yōu)化移動(dòng)采集端地圖緩存的方法,兼顧了數(shù)據(jù)采集的高效性和地圖獲取的時(shí)效性。
3.1.1 數(shù)據(jù)更新流程對比
傳統(tǒng)的外業(yè)手工采集和內(nèi)業(yè)收集整理審核流程是采用串行流程技術(shù),而該系統(tǒng)設(shè)計(jì)采用多移動(dòng)采集端實(shí)時(shí)提交與PC管理端審核的并行流程技術(shù)。本系統(tǒng)實(shí)現(xiàn)的數(shù)據(jù)更新流程的優(yōu)勢為:①定位準(zhǔn)確,利用移動(dòng)GPS/北斗定位,可以準(zhǔn)確定位需要更新的地址信息,避免了手工誤差;②采用并行流程技術(shù),可以減少傳統(tǒng)數(shù)據(jù)更新的上報(bào)流程,實(shí)現(xiàn)數(shù)據(jù)在采集人員與審核人員之間實(shí)時(shí)傳遞的數(shù)字化辦公。此外,利用該流程還可以有效縮短數(shù)據(jù)更新時(shí)間,提高數(shù)據(jù)更新的工作效率。以上優(yōu)勢均為確保城市地名地址的準(zhǔn)確性提供了有力支撐。
3.1.2 地圖緩存效率對比
傳統(tǒng)移動(dòng)端緩存方法雖提高了地圖數(shù)據(jù)的讀取效率,但不能保證地圖數(shù)據(jù)的時(shí)效性。該系統(tǒng)采用設(shè)置保鮮期優(yōu)化地圖緩存的方法顯著提升了服務(wù)器與移動(dòng)采集端間的交互效率。通過測試兩種方案在移動(dòng)采集端對地圖縮放、漫游、全圖等操作功能,結(jié)果表明該優(yōu)化方案的系統(tǒng)平均響應(yīng)時(shí)間略有增加,但地圖準(zhǔn)確率卻大幅提升,更好地反映了該系統(tǒng)很大程度上優(yōu)化了地圖緩存效率,見表2。
表2 地圖緩存技術(shù)優(yōu)化測試結(jié)果對比Tab.2 Comparison of test results of map caching technology optimization
系統(tǒng)采用B/S架構(gòu)設(shè)計(jì),其中,PC管理端采用JavaScript+Flex+PHP的模式進(jìn)行開發(fā),移動(dòng)采集端采用Java語言進(jìn)行開發(fā),數(shù)據(jù)庫采用SQLite+MySQL。系統(tǒng)主要提供以下功能:
1)移動(dòng)采集端采集信息的更改與提交
移動(dòng)采集端采集是地名地址更新的基礎(chǔ)環(huán)節(jié),主要包括對原始數(shù)據(jù)空間位置的展示及待更新數(shù)據(jù)的更改與提交。當(dāng)用戶選擇待更新的數(shù)據(jù)表時(shí),系統(tǒng)會(huì)根據(jù)表中的坐標(biāo)信息定位到地圖上相應(yīng)位置,點(diǎn)擊便可查詢和更改該點(diǎn)的屬性信息。在地圖上找到需要更新地名地址的標(biāo)注圖標(biāo),或者通過移動(dòng)采集端定位功能定位到需要添加的地名地址點(diǎn)后,點(diǎn)擊“標(biāo)注”對其屬性信息進(jìn)行更新操作。當(dāng)用戶將更改完的數(shù)據(jù)統(tǒng)一打包,點(diǎn)擊“提交至PC管理端”,審核人員可在PC管理端進(jìn)行審核修改。具體效果如圖5所示。
圖5 移動(dòng)采集端采集界面Fig.5 Collection data interface in mobile app
2)PC管理端審核信息的實(shí)現(xiàn)
審核待更新的地名地址數(shù)據(jù)是通過PC管理端來實(shí)現(xiàn)的。審核人員登錄PC管理端采集系統(tǒng),選擇待更新的數(shù)據(jù)表,通過查看待審核欄內(nèi)的信息,包括更新的屬性信息及位置信息的準(zhǔn)確性來判斷其是否要通過審核。具體效果如圖6所示。
圖6 PC管理端審核界面Fig.6 Audit data interface in PC port
3)其他功能
系統(tǒng)除了提供地名地址動(dòng)態(tài)更新的功能外,還集成了基礎(chǔ)地圖的操作功能,如地圖切換、軌跡采集、線路查詢、測線、測面等基礎(chǔ)操作。
本文依據(jù)地名地址動(dòng)態(tài)更新的需求,將外業(yè)采集及內(nèi)業(yè)管理進(jìn)行重新設(shè)計(jì),采用PC移動(dòng)一體化的設(shè)計(jì)方式,分別設(shè)計(jì)了移動(dòng)端采集軟件和PC端審核管理系統(tǒng)。系統(tǒng)利用網(wǎng)絡(luò)傳輸技術(shù)、數(shù)據(jù)庫技術(shù)、移動(dòng)GIS技術(shù)、網(wǎng)絡(luò)GIS服務(wù)等技術(shù),實(shí)現(xiàn)了移動(dòng)采集端和PC管理端協(xié)同工作。同時(shí),系統(tǒng)打破了外業(yè)采集與內(nèi)業(yè)審核的分離模式,使地名地址動(dòng)態(tài)更新更加高效化、準(zhǔn)確化,充分滿足了測繪工作對地名地址動(dòng)態(tài)更新的工作要求。隨著地名地址動(dòng)態(tài)更新技術(shù)的不斷發(fā)展,今后的研究可以引入眾包策略,加大萬眾參與,進(jìn)一步提升地名地址更新的效率。