張新長(zhǎng),高金頂,何顯錦
(1.中山大學(xué) 地理科學(xué)與規(guī)劃學(xué)院,廣東 廣州 510275;2. 廣東省城市化與地理環(huán)境空間模擬重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510275)
地形圖數(shù)據(jù)規(guī)整及變化要素自適應(yīng)更新方法
張新長(zhǎng)1,2,高金頂1,何顯錦1
(1.中山大學(xué) 地理科學(xué)與規(guī)劃學(xué)院,廣東 廣州 510275;2. 廣東省城市化與地理環(huán)境空間模擬重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510275)
地形圖數(shù)據(jù)作為一種重要的空間數(shù)據(jù),其更新一般包括數(shù)據(jù)規(guī)整和更新入庫(kù)2個(gè)過(guò)程。提出了一套地形圖數(shù)據(jù)規(guī)整及自適應(yīng)更新方法。該方法在AutoCAD 環(huán)境下對(duì)地形圖數(shù)據(jù)進(jìn)行規(guī)整,包括地物編碼、拓?fù)錂z查編輯、數(shù)據(jù)轉(zhuǎn)換等;在數(shù)據(jù)規(guī)整的基礎(chǔ)上,進(jìn)行要素的變化檢測(cè),提取出變化的要素,再對(duì)變化要素進(jìn)行更新入庫(kù)。實(shí)驗(yàn)表明,該方法能系統(tǒng)、高效地實(shí)現(xiàn)地形圖數(shù)據(jù)的更新。
地形圖;數(shù)據(jù)規(guī)整;變化檢測(cè);增量更新
空間數(shù)據(jù)更新是維護(hù)空間數(shù)據(jù)庫(kù)現(xiàn)勢(shì)性的主要手段[1],是當(dāng)前GIS的前沿研究課題。目前,我國(guó)大多數(shù)城市的地形圖測(cè)量數(shù)據(jù)以AutoCAD格式存儲(chǔ),而在進(jìn)行空間數(shù)據(jù)存儲(chǔ)、空間分析等方面CAD格式數(shù)據(jù)相對(duì)于GIS數(shù)據(jù)存在很大的不足。為充分利用現(xiàn)有的數(shù)據(jù)資源,一般是將已有的AutoCAD數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的GIS數(shù)據(jù)[2]。目前,對(duì)AutoCAD數(shù)據(jù)向GIS數(shù)據(jù)轉(zhuǎn)化的研究較多[3,4],但由于AutoCAD數(shù)據(jù)在生產(chǎn)方式和數(shù)據(jù)標(biāo)準(zhǔn)方面存在較大差異,造成數(shù)據(jù)本身存在不規(guī)范性,使得這些方法的轉(zhuǎn)換結(jié)果并不理想[5]。本文主要研究將AutoCAD數(shù)據(jù)進(jìn)行規(guī)范整理并無(wú)損轉(zhuǎn)換為GIS數(shù)據(jù)的方法。
空間數(shù)據(jù)規(guī)整后,如何將這些數(shù)據(jù)快速更新到現(xiàn)勢(shì)數(shù)據(jù)庫(kù),以維持?jǐn)?shù)據(jù)庫(kù)的現(xiàn)勢(shì)性,是一個(gè)關(guān)鍵的技術(shù)問(wèn)題。目前,常用的地形圖數(shù)據(jù)更新方法有2種:基于范圍的更新方法和基于要素的更新方法[6]?;诜秶母率菍⑴f數(shù)據(jù)按相應(yīng)的范圍挖空后填入新數(shù)據(jù),然后進(jìn)行要素接邊操作[7,8];基于要素的更新是對(duì)新舊數(shù)據(jù)進(jìn)行變化檢測(cè),只針對(duì)變化的要素進(jìn)行更新[9-11]。基于范圍的更新方法需要較多的接邊操作,在接邊過(guò)程中會(huì)出現(xiàn)接邊錯(cuò)位現(xiàn)象[12],并且整體替換加大了數(shù)據(jù)的存儲(chǔ)量,降低了數(shù)據(jù)的更新效率,因此,本文采用基于要素的更新方法。
1.1 地形圖數(shù)據(jù)規(guī)整關(guān)鍵技術(shù)流程
地形圖數(shù)據(jù)規(guī)整一般包括2個(gè)階段:將初始地形圖數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理; CAD 數(shù)據(jù)與 GIS 數(shù)據(jù)的轉(zhuǎn)換[13],本文提出了篩選特定的圖層并進(jìn)行批量轉(zhuǎn)換的方法。
1.1.1 地形圖數(shù)據(jù)標(biāo)準(zhǔn)化
只有符合技術(shù)規(guī)程及相關(guān)作業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)才能正確進(jìn)行數(shù)據(jù)轉(zhuǎn)換,因此首先對(duì)地形圖數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化整理。AutoCAD 地形圖標(biāo)準(zhǔn)化步驟主要包括地物編碼賦值、編碼檢查、拓?fù)錂z查與編輯、屬性編輯等,具體標(biāo)準(zhǔn)化流程如圖1 所示。
圖1 地形圖數(shù)據(jù)標(biāo)準(zhǔn)化流程圖
地形圖要素編碼即給圖形賦予唯一的編碼值[14],編碼是標(biāo)準(zhǔn)化的核心,賦值過(guò)程中若僅使用目視方法進(jìn)行逐要素判斷需要花費(fèi)較長(zhǎng)時(shí)間。通過(guò)對(duì)實(shí)測(cè)地形圖的調(diào)查研究發(fā)現(xiàn),不少數(shù)字地形圖由 CASS 軟件編輯而成,且一般存儲(chǔ)了 CASS 編碼和編碼意義。本文提出了批量轉(zhuǎn)換編碼的方法,可快速將CASS編碼轉(zhuǎn)換為對(duì)應(yīng)的要素編碼,加快了轉(zhuǎn)換速度。
在編碼完成后可以對(duì)要素的拓?fù)湫畔⑦M(jìn)行相應(yīng)的檢查與修正,主要檢查常見的拓?fù)溴e(cuò)誤,包括圖形的自相交、圖形的懸掛點(diǎn)、圖形的重疊等。本文提供了面要素的自動(dòng)閉合、重疊要素的刪除等處理方法來(lái)解決相應(yīng)的拓?fù)溴e(cuò)誤。
最后對(duì)要素進(jìn)行相應(yīng)的屬性編輯與賦值,采用圖形的擴(kuò)展字典方法,將名稱和對(duì)應(yīng)的值分別以成對(duì)的方式存儲(chǔ)在字典的Name屬性和Data值中,這樣既可快速進(jìn)行存儲(chǔ)和調(diào)用,又增加了屬性值的可讀性。
1.1.2 地形圖數(shù)據(jù)轉(zhuǎn)換
在完成 AutoCAD 數(shù)據(jù)的標(biāo)準(zhǔn)化之后,要進(jìn)行AutoCAD 數(shù)據(jù)與 GIS 數(shù)據(jù)的轉(zhuǎn)換,以建立GIS 空間數(shù)據(jù)庫(kù),主要包括圖形轉(zhuǎn)換和屬性轉(zhuǎn)換。在分析了2種數(shù)據(jù)的基礎(chǔ)上,采用直接轉(zhuǎn)換的方式,將AutoCAD地形圖數(shù)據(jù)轉(zhuǎn)換為ArcGIS格式的標(biāo)準(zhǔn)GIS空間數(shù)據(jù),具體步驟包括:
1)建立圖層間的映射關(guān)系,建立各個(gè)專題的點(diǎn)、線、面、注記等圖層,并依據(jù)入庫(kù)標(biāo)準(zhǔn)添加相應(yīng)的屬性字段。
2)實(shí)現(xiàn)CAD數(shù)據(jù)到GIS數(shù)據(jù)間的圖形轉(zhuǎn)換。圖形轉(zhuǎn)換是轉(zhuǎn)換流程中最容易產(chǎn)生要素丟失的環(huán)節(jié),這里提取相應(yīng)的坐標(biāo),并對(duì)坐標(biāo)進(jìn)行組合,組合成相應(yīng)的要素類型。常見的CAD實(shí)體圖形包括點(diǎn)、直線、圓、弧線、樣條曲線、多線段和文字[15]。針對(duì)以上各種類型,設(shè)置相應(yīng)的提取方法。直線僅提取起點(diǎn)和終點(diǎn);圓實(shí)體提取圓心的位置和半徑;而弧線不僅需要提取圓心和半徑,還需要提取對(duì)應(yīng)的圓心角;樣條曲線提取起點(diǎn)和終點(diǎn),并根據(jù)該曲線的復(fù)雜度選擇中間控制點(diǎn)的數(shù)量;多線段將其進(jìn)行拆分成相應(yīng)的簡(jiǎn)單直線和圓弧后再進(jìn)行提取操作;為了實(shí)現(xiàn)文字的朝向和大小,需提取其旋轉(zhuǎn)角度和字體高度。采用以上提取方式后,根據(jù)相應(yīng)的還原方式,連接成對(duì)應(yīng)的要素。
3)在圖形轉(zhuǎn)換后,要進(jìn)行相應(yīng)的屬性轉(zhuǎn)換和賦值,這里就從圖形的擴(kuò)展字典中讀取并存儲(chǔ)到對(duì)應(yīng)圖層的相應(yīng)屬性字段中。
1.2 基于要素的更新方法
1.2.1 總體思路
基于要素的更新方法主要包括2個(gè)階段:第一階段是變化信息檢測(cè),即通過(guò)新舊數(shù)據(jù)的對(duì)比,檢測(cè)出變化的要素,將變化的要素存放在臨時(shí)庫(kù)中;第二階段是更新數(shù)據(jù)的入庫(kù),即根據(jù)臨時(shí)庫(kù)中變化要素的類型(新增或刪除),對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行相應(yīng)的更新操作。總體更新流程如圖2所示。
1.2.2 變化信息檢測(cè)
變化信息檢測(cè)是基于要素更新的關(guān)鍵步驟,其目的是為了發(fā)現(xiàn)變化的要素信息[16]。目前的變化檢測(cè)研究大都是利用新舊數(shù)據(jù)間的匹配處理,檢測(cè)空間對(duì)象的變化信息[17],匹配處理采用雙向匹配方法,以獲取所有的變化類型。
傳統(tǒng)方法需逐一比較來(lái)進(jìn)行判讀,需要較多的空間和屬性對(duì)比,為了快速找到對(duì)應(yīng)的要素進(jìn)行對(duì)比,本文采用了格網(wǎng)搜索定位的方法[16]。該方法可以快速實(shí)現(xiàn)定位,具體如下:
圖2 基于要素的更新流程圖
1)分別對(duì)新舊數(shù)據(jù)增加特征點(diǎn)坐標(biāo)屬性字段(Center_X、Center_Y)以及屬性匯總字段(TotalStr)。
2)遍歷要素進(jìn)行新增字段的計(jì)算,這里的特征點(diǎn)坐標(biāo)代表要素所在的位置,點(diǎn)要素直接取其坐標(biāo),線要素取其中點(diǎn),面要素取其質(zhì)心。屬性匯總信息是將屬性字段的字段值進(jìn)行拼接,每個(gè)字段值之間用特殊符號(hào)分割,如式(1)。
3)將檢測(cè)范圍(Xmin,Ymin,Xmax,Ymax)劃分為m×n個(gè)格網(wǎng),根據(jù)需要格網(wǎng)的寬(Gwidth)和高(Ghight)可以自己設(shè)定,劃分公式為:
4)對(duì)新舊數(shù)據(jù)按特征點(diǎn)坐標(biāo)進(jìn)行排序,并按特征點(diǎn)坐標(biāo)將要素匹配到相應(yīng)的格網(wǎng)。格網(wǎng)編號(hào)與特征點(diǎn)坐標(biāo)匹配方法按式(3)計(jì)算,其中INT()為向下取整。將格網(wǎng)內(nèi)要素的特征點(diǎn)坐標(biāo)、幾何信息、屬性匯總信息,按照排序結(jié)果依次累加到相應(yīng)的網(wǎng)格中,如式(4)。線要素和面要素的幾何信息為要素的弧段長(zhǎng)度,點(diǎn)要素不需累加幾何信息。
式中,gridcenx()、gridceny()分別表示網(wǎng)格中要素特征點(diǎn)X坐標(biāo)及Y坐標(biāo)的和; gridlen()表示網(wǎng)格中要素的弧段長(zhǎng)度和;gridstr()表示網(wǎng)格中要素屬性值字符串拼接;gridcount()為行號(hào)網(wǎng)格中要素個(gè)數(shù);k為格網(wǎng)中要素的數(shù)量。
5)對(duì)新舊數(shù)據(jù)中編號(hào)相同網(wǎng)格的特征點(diǎn)X坐標(biāo)、Y坐標(biāo)、弧段長(zhǎng)度、屬性值拼接字符串進(jìn)行對(duì)比。
按式(5)計(jì)算網(wǎng)格中幾何特征的變化率。
式中,changecenx()為格網(wǎng)中要素特征點(diǎn)X坐標(biāo)和的變化率;changeceny()為格網(wǎng)中要素特征點(diǎn)Y坐標(biāo)和的變化率;changelen()為格網(wǎng)中弧段長(zhǎng)度的變化率;N()與O()分別代表新舊數(shù)據(jù)。當(dāng)新舊數(shù)據(jù)中對(duì)應(yīng)網(wǎng)格中以上3個(gè)指標(biāo)發(fā)生變化時(shí),說(shuō)明該網(wǎng)格中的要素存在變化,需對(duì)網(wǎng)格內(nèi)的要素進(jìn)行逐一變化檢測(cè)。
1.2.3 變化數(shù)據(jù)檢測(cè)入庫(kù)
在找到對(duì)應(yīng)要素后,以新舊要素的緩沖區(qū)重疊度(Index)來(lái)判斷要素是否變化。
式中,Ai為新數(shù)據(jù)中的要素;Bi為舊數(shù)據(jù)中與該要素相對(duì)應(yīng)的舊要素;Buffer(Ai)表示新要素Ai生成的緩沖區(qū);Buffer(Bi)表示舊要素Bi生成的緩沖區(qū);Area[Buffer(Ai)∩Buffer(Bi)]表示Ai與Bi相交的幾何面積;Area[Buffer(Ai)∪ Buffer(Bi)]表示Ai與Bi相并的幾何面積。在理想情況下,如果新數(shù)據(jù)中的要素和舊數(shù)據(jù)中相比沒有發(fā)生變化,Index等于1,其他情況下即發(fā)生了變化。但由于數(shù)據(jù)精度等原因,這里一般設(shè)定閾值Q,在閾值外數(shù)據(jù)即為變化要素。在變化檢測(cè)完成后,即可將變化要素入庫(kù)。這里將變化要素分為新增要素和刪除要素,根據(jù)相應(yīng)的ID值進(jìn)行插入和刪除操作,同時(shí)將刪除要素插入到對(duì)應(yīng)的歷史數(shù)據(jù)庫(kù)中,方便進(jìn)行歷史回溯查看。
為了驗(yàn)證提出的數(shù)據(jù)規(guī)整和增量更新方法,本文在Windows環(huán)境下,以CAD和Visual Studio 2010為開發(fā)工具,集成ArcGIS Engine開發(fā)包研制了數(shù)據(jù)規(guī)整與更新原型系統(tǒng),實(shí)現(xiàn)了從數(shù)據(jù)規(guī)整到基于要素的地形圖數(shù)據(jù)更新入庫(kù)的流程,以1∶2 000地形圖數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
首先對(duì)CAD格式的地形圖數(shù)據(jù)(如圖3所示)進(jìn)行編碼、拓?fù)錂z查處理操作,將其轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)據(jù),然后將該數(shù)據(jù)批量轉(zhuǎn)換為GIS數(shù)據(jù),轉(zhuǎn)換結(jié)果如圖4。對(duì)比轉(zhuǎn)換后的結(jié)果數(shù)據(jù),數(shù)據(jù)無(wú)缺失,證明該數(shù)據(jù)規(guī)整程序具有可行性。
圖3 規(guī)整轉(zhuǎn)換前CAD數(shù)據(jù)
圖4 規(guī)整轉(zhuǎn)換后GIS數(shù)據(jù)
在數(shù)據(jù)規(guī)整后即可進(jìn)行數(shù)據(jù)的更新操作。圖5為更新前數(shù)據(jù),通過(guò)對(duì)新舊數(shù)據(jù)進(jìn)行變化檢測(cè),發(fā)現(xiàn)新數(shù)據(jù)中的居民地面要素發(fā)生了變化(如圖6所示),圖中對(duì)變化要素以粉紅色進(jìn)行標(biāo)注,可以準(zhǔn)確檢測(cè)出細(xì)小的變化,并進(jìn)行相應(yīng)替換。
圖5 更新前GIS數(shù)據(jù)
圖6 更新后GIS數(shù)據(jù)
實(shí)驗(yàn)結(jié)果顯示,該系統(tǒng)可以快速、無(wú)損地將地形圖CAD數(shù)據(jù)轉(zhuǎn)換為GIS數(shù)據(jù),且滿足數(shù)據(jù)標(biāo)準(zhǔn)的要求。在基于要素的更新過(guò)程中,本文提出的自適應(yīng)更新方法可高效準(zhǔn)確地完成測(cè)量數(shù)據(jù)的更新操作。
本文結(jié)合修補(bǔ)測(cè)地形圖數(shù)據(jù)進(jìn)行了數(shù)據(jù)規(guī)整和增量更新的實(shí)踐,設(shè)計(jì)了CAD數(shù)據(jù)規(guī)整的技術(shù)流程,實(shí)現(xiàn)了CAD數(shù)據(jù)向GIS數(shù)據(jù)的無(wú)損轉(zhuǎn)換;提出了基于快速定位的變化檢測(cè)方法,實(shí)現(xiàn)變化數(shù)據(jù)的快速更新入庫(kù),保證了地形圖數(shù)據(jù)庫(kù)的現(xiàn)勢(shì)性。實(shí)驗(yàn)結(jié)果表明,提出的地形圖數(shù)據(jù)規(guī)整及自適應(yīng)更新方法能系統(tǒng)、高效地實(shí)現(xiàn)地形圖數(shù)據(jù)的更新。
本文提出的技術(shù)路線具有較好的應(yīng)用效果,但由于CAD數(shù)據(jù)圖形賦值,在數(shù)據(jù)轉(zhuǎn)換時(shí)仍要進(jìn)行多次檢查編輯操作,且有些不常見拓?fù)溴e(cuò)誤需要人工篩選編輯。鑒于此,一些新的拓?fù)湫拚椒ê唾|(zhì)量控制研究將是下一步的工作任務(wù)。同時(shí)基于要素的更新方法在檢測(cè)到對(duì)應(yīng)網(wǎng)格內(nèi)有變化要素存在時(shí),仍要對(duì)網(wǎng)格中要素進(jìn)行逐要素對(duì)比查看,在變化要素較多時(shí)更新效率會(huì)下降,因此快速定位變化要素的方法仍需進(jìn)一步研究。
[1] Briat M, Monnot J, Kressmann T. Incremental Update of Cartographic Data in a Versioned Environment[C].22nd ICA Conference Proceedings, A Coru?a, 2005
[2] 陳能,施蓓琦.AutoCAD地形圖數(shù)據(jù)轉(zhuǎn)換為GIS空間數(shù)據(jù)的技術(shù)研究與應(yīng)用[J].測(cè)繪通報(bào),2005(8):11-14
[3] 王波,張亮,孫霞. CAD向GIS數(shù)據(jù)的轉(zhuǎn)換入庫(kù)[J].地理空間信息, 2011,9(3):24-26
[4] 袁源琳,張新長(zhǎng),黃健鋒,等.AutoCAD地形圖數(shù)據(jù)規(guī)整入庫(kù)的研究與應(yīng)用[J].測(cè)繪通報(bào), 2013(5):84-88
[5] 張葉,孫毅中,陳年松.CAD城市基礎(chǔ)數(shù)據(jù)到GIS 轉(zhuǎn)換的有關(guān)問(wèn)題探討[J].測(cè)繪與空間地理信息, 2007,30(1):94-97
[6] 付仲良,吳建華.多比例尺空間數(shù)據(jù)庫(kù)更新技術(shù)研究[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2007,32(12):1 115-1 118
[7] 梁史進(jìn),張新長(zhǎng),郭泰圣.基于圖幅的地形圖數(shù)據(jù)自適應(yīng)更新實(shí)現(xiàn)[J].地理信息世界,2014,21(6):77-81
[8] 陳年松.基于圖幅的城市基礎(chǔ)地理信息更新研究[C].江蘇省測(cè)繪學(xué)會(huì)2009年學(xué)術(shù)年會(huì),南京,2009
[9] 羅國(guó)瑋,張新長(zhǎng),齊立新.顧及地理要素變化過(guò)程的數(shù)據(jù)增量更新方法[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2014(4):131-135 [10] 張新長(zhǎng),郭泰圣,唐鐵.一種自適應(yīng)的矢量數(shù)據(jù)增量更新方法研究[J].測(cè)繪學(xué)報(bào),2012,41(4):613-619
[11] 楊文杰,張新長(zhǎng),羅國(guó)瑋,等.基于要素的地形圖數(shù)據(jù)更新方法研究[J].地理信息世界,2014,21(6):12-16
[12] 孫英杰.基于變化信息文件的增量更新方法研究[D].長(zhǎng)沙:中南大學(xué),2008
[13] 王蔚,陳明銳.AutoCAD 數(shù)據(jù)向GIS空間數(shù)據(jù)轉(zhuǎn)換機(jī)制的研究[J].熱帶農(nóng)業(yè)科學(xué),2010,30(11):48-52
[14] 施一軍.數(shù)字地形圖向GIS數(shù)據(jù)轉(zhuǎn)換處理方法的探討[J].江蘇測(cè)繪,2000,23(4):44-46
[15] 楊娜娜,張新長(zhǎng),黃健鋒.CAD規(guī)劃成果數(shù)據(jù)GIS建庫(kù)的技術(shù)與研究[J].測(cè)繪通報(bào),2015(6): 44-48
[16] 羅國(guó)瑋,張新長(zhǎng),齊立新,等.矢量數(shù)據(jù)變化對(duì)象的快速定位與最優(yōu)組合匹配方法[J].測(cè)繪學(xué)報(bào),2014,43(12):1 285-1 292
[17] 吳建華,付仲良.數(shù)據(jù)更新中要素變化檢測(cè)與匹配方法[J].計(jì)算機(jī)應(yīng)用,2008,28(6):1 612-1 615
P208
B
1672-4623(2016)03-0001-04
10.3969/j.issn.1672-4623.2016.03.001
張新長(zhǎng),教授,博士生導(dǎo)師,主要研究方向?yàn)閿?shù)字城市理論與方法。
2015-12-09。
項(xiàng)目來(lái)源:國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目資助項(xiàng)目(41431178);高等學(xué)校博士點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(20120171110030)。