金 琳,李嬌嬌
(江蘇省基礎(chǔ)地理信息中心,江蘇 南京 210013)
在日常的測繪工作中實際使用的數(shù)據(jù)源類型存在多樣性,數(shù)據(jù)質(zhì)量也存在差異。隨著信息技術(shù)的發(fā)展,數(shù)據(jù)處理工作趨于自動化,這提高了處理效率,避免了人為誤差。對矢量數(shù)據(jù)而言,為了更好滿足制圖及建庫的需要,數(shù)據(jù)采集處理必須嚴格保證數(shù)據(jù)的規(guī)范性。
在數(shù)據(jù)整合處理過程中,一個測區(qū)內(nèi)的某層線狀數(shù)據(jù)在交叉處往往會被其他線層數(shù)據(jù)打斷,數(shù)據(jù)存在同一對象在一個圖幅范圍內(nèi)有多段連續(xù)的對象的情況,而在數(shù)據(jù)入庫或數(shù)字制圖等實際情況中這些連續(xù)的對象應(yīng)為一個完整的對象。為保證數(shù)據(jù)規(guī)范統(tǒng)一,需要對這種同一對象被打斷為好幾段的情況進行處理,使同一圖幅范圍內(nèi)一個地物對象對應(yīng)空間數(shù)據(jù)中的一個線狀地物。本文就這種數(shù)據(jù)情況進行分析,討論此類型數(shù)據(jù)的自動化連接處理,尋找解決辦法。我們以交通線層和水系線層數(shù)據(jù)處理為例,分析需處理數(shù)據(jù)特點,并尋找解決辦法,需處理的數(shù)據(jù)情況如圖1所示。
圖1 需處理的數(shù)據(jù)情況舉例
對交通線層和水系線層的數(shù)據(jù),需要連接為同一對象的數(shù)據(jù)應(yīng)是在空間上連續(xù)且為屬性信息一致的一組空間對象。所以如何選擇滿足統(tǒng)一條件且連貫的一組對象就成為我們研究的關(guān)鍵。我們把線層數(shù)據(jù)情況簡化為圖2。
圖2 數(shù)據(jù)處理情況簡化模型
當前地物存在首尾節(jié)點,如果它為其中需要連接的一個斷線,則與它連接的對象就成為我們判斷是否為需要連接的一個對象。當前對象A起點處與其連接前一對象B在起點處最鄰近節(jié)點所形成的角度為a,如A與B屬性一致,且角度a大于等于(經(jīng)過多次實驗后發(fā)現(xiàn)可以得到較佳的效果,且符合道路和水系的實際彎曲程度),則A、B可以連接;如屬性不一致則A、B不可以連接。A終點處與其連接的后一對象有多個,此處簡化為C和D,在終點處與C最鄰近節(jié)點所形成的角度為b,與D最鄰近節(jié)點所形成的角度為c,如果A與C和D屬性均一致,則判斷角度c和角度d的大小,此處角度值取0-π的,則兩者走向更為一致。圖中角度c小于角度d,所以在A、C、D屬性一致的情況下,A地物與C地物連接。
在實際空間道路線層數(shù)據(jù)和水系線層數(shù)據(jù)中,需要一致連接的對象絕大多數(shù)在斷點處也保持方向統(tǒng)一。為了更好判斷是否需要連接,我們在最后均增加一個角度判斷,所形成的角度a、b在滿足屬性及所成角度最大的情況下應(yīng)保證角度值大于等于,這在一定程度上更保證了數(shù)據(jù)連接的正確性。
常見的空間數(shù)據(jù)組織格式為shp、mdb、dwg等,在本文討論中擬定中間成果是按圖幅組織的mdb,處理工作是對所有圖幅的一組mdb進行操作,數(shù)據(jù)處理的整體流程如圖3所示。遍歷處理每一個mdb數(shù)據(jù)庫,mdb庫中遍歷其所有數(shù)據(jù)類對象,尋找需要進行斷線連接的線層數(shù)據(jù),此處為交通線層(LRDL)和水系線層(HYDL)2層。對需要處理的線層數(shù)據(jù),為避免重復(fù)處理,應(yīng)先為該層添加“備注”字段,用于記錄該對象是否已經(jīng)處理。查看該數(shù)據(jù)類中的每一個對象pFeature。數(shù)據(jù)處理工作是針對未做處理的地物對象,選擇可以與其連接的所有對象組進行對象合并,完成整個數(shù)據(jù)的處理工作。
圖3 數(shù)據(jù)處理整體流程
每一對象pFeature獲取滿足連接條件的選擇集的過程如圖4所示。首先定義一個記錄刪除對象的數(shù)組用于判斷該地物是否已經(jīng)刪除。若沒有刪除,獲取該地物屬性值作為屬性匹配的基礎(chǔ),然后獲得該地物首尾節(jié)點及與首尾節(jié)點最鄰近的節(jié)點,并以此選擇與該地物需要連接的地物對象,再以新選擇的地物對象為當前地物,搜索其未判斷的另一端點處是否存在需要連接的地物對象。在每次選擇需要連接的地物對象后,我們增加一個判斷,對已經(jīng)處理過的地物對象不作為選擇集中的一員。最終,我們獲得與該地物屬性匹配的、走向一致的所有地物。
圖4 獲取選擇集的流程
當前地物端點(起點和終點)處可以連接地物對象的判斷如圖5所示。我們輸入當前對象pFeature、當前端點pPoint和與pPoint最近的節(jié)點以及該層數(shù)據(jù)類,通過空間關(guān)系選擇與當前端點相交的所有對象,判斷并獲取相交的地物中與pFeature屬性一致且所成角度最大的地物:若最終所選地物與當前地物最鄰近節(jié)點所成的角度大于等于0,即為可以選擇連接的地物,否則返回空值。
圖5 判斷是否為選擇集的對象
數(shù)據(jù)處理的算法實現(xiàn)基于ArcEngine,采用C#編程語言完成。Engine的SDK用于判斷空間地物關(guān)系和相關(guān)空間對象的計算。程序?qū)崿F(xiàn)如圖6所示,瀏覽選擇需要處理的mdb所在文件夾,程序列出該文件夾下所有的數(shù)據(jù)庫對象。填寫需要處理的數(shù)據(jù)類名,此處為LRDL和 HYDL,設(shè)置容差0.001m(數(shù)據(jù)要求精度,根據(jù)實際情況填寫),點擊連接處理按鈕,即可實現(xiàn)地物斷線連接。
處理后和處理前的數(shù)據(jù)對比我們可隨機取一層為例,處理前對象數(shù)為737個,處理后對象為244個,哪些對象被處理了可以在處理后的對象屬性表中看到,“備注”字段為“已處理”的即是經(jīng)過處理的對象。
圖6 算法實現(xiàn)界面
線狀數(shù)據(jù)實體化處理程序?qū)υ诮徊纥c處被打斷的線狀地物可以進行很好的判斷并可以合并為同一對象。經(jīng)過對水系線層和交通線層對象的處理,我們將處理結(jié)果進行檢查,對象基本合并正確,平均每一幅圖處理時間約為1min,極大提高了數(shù)據(jù)的處理效率并最大程度減少了人工干預(yù),有效提升了省級基礎(chǔ)測繪數(shù)據(jù)的自動化處理水平。
[1] 歐陽霞輝.ArcGIS地理信息系統(tǒng)大全[M].北京:科學(xué)出版社,2011.
[2] 樊紅,詹小國.Arc/info應(yīng)用開發(fā)技術(shù)[M].武漢:武漢大學(xué)出版社,200.
[3] 呂曉艷.城市DLG數(shù)據(jù)加工及其入庫處理方法的研究[D].沈陽:遼寧工程技術(shù)大學(xué),2011.
[4] 壽源源.1∶10000地形要素數(shù)據(jù)整合的實踐[J].城市地理,2014(12):62-63.