張道軍,任 娜,劉越巖
(1.中國地質(zhì)大學(xué)資源學(xué)院,湖北武漢 430074;2.中國地質(zhì)大學(xué)地質(zhì)過程與礦產(chǎn)資源國家重點實驗室,湖北武漢 430074)
基于空間位置的屬性數(shù)據(jù)連接方法研究
張道軍1,2,任 娜1,劉越巖1
(1.中國地質(zhì)大學(xué)資源學(xué)院,湖北武漢 430074;2.中國地質(zhì)大學(xué)地質(zhì)過程與礦產(chǎn)資源國家重點實驗室,湖北武漢 430074)
目前我國存在大量紙介質(zhì)及圖屬分離管理的 CAD格式地圖,若能通過適當(dāng)?shù)姆椒▽ζ浼右岳?將大大節(jié)約國土資源信息化成本。從 GIS空間分析角度著眼,系統(tǒng)地研究基于空間位置的屬性數(shù)據(jù)連接方法及其實現(xiàn),提出一套基于空間位置的點、線屬性連接算法,并以VisualBasic為集成開發(fā)環(huán)境,結(jié)合中地公司提供的MapGIS二次開發(fā)包,建立專用模塊,運用于土地整理項目線狀規(guī)劃要素的屬性關(guān)聯(lián),實現(xiàn)工程量統(tǒng)計的批量化。
空間位置;數(shù)據(jù)錄入;批量;屬性連接;MapGIS;二次開發(fā)
目前國土資源基礎(chǔ)信息大部分仍然處在紙介質(zhì)狀態(tài),信息化建設(shè)進(jìn)程緩慢,數(shù)字化信息積累不足是當(dāng)前國土資源信息化建設(shè)的瓶頸問題。據(jù)統(tǒng)計,我國 80%左右的縣級土地利用數(shù)據(jù)、城鎮(zhèn)地籍信息仍以紙介質(zhì)方式保存,全國地質(zhì)資料館中近9萬份地質(zhì)資料只有不到 6%實現(xiàn)了數(shù)字化[1]。此外,我國存在大量 AutoCAD圖形格式的矢量地圖,由于 AutoCAD沒有完備的屬性數(shù)據(jù)庫,很多屬性數(shù)據(jù)被直接表達(dá)在圖面上,亦不能完全滿足國土資源信息化的要求。與此同時,隨著我國社會經(jīng)濟的快速發(fā)展,人們對國土資源信息的需求不斷擴大,基于 GIS建立各類土地數(shù)據(jù)庫勢在必行。
GIS數(shù)據(jù)庫建設(shè)有 80%以上的費用是花在數(shù)據(jù)的輸入上面[2-3],包括圖形數(shù)據(jù)的輸入、屬性數(shù)據(jù)的錄入及兩者的關(guān)聯(lián)。目前,圖形數(shù)據(jù)的輸入主要是依靠導(dǎo)入測量數(shù)據(jù)、屏幕跟蹤數(shù)字化,以及轉(zhuǎn)換其他非本系統(tǒng)圖形格式數(shù)據(jù)等方式得到[3]。大型 GIS平臺軟件都帶有數(shù)據(jù)格式轉(zhuǎn)換接口,但應(yīng)用中仍需要人為設(shè)計轉(zhuǎn)換方法,文獻(xiàn) [4-6]對此展開了研究。屬性數(shù)據(jù)的輸入方法主要有:①手工輸入方法;②交互輸入方法;③根據(jù)關(guān)鍵字進(jìn)行屬性連接的方法[2-3];④基于空間位置的屬性數(shù)據(jù)連接方法。顯然后兩種方法適用于批量的數(shù)據(jù)錄入。
紙介質(zhì)地圖和 AutoCAD格式地圖的共同特點是屬性數(shù)據(jù)以文字格式標(biāo)注在圖面上。由于標(biāo)注文字與被標(biāo)注對象一般在空間上位置接近,可考慮用空間分析的辦法建立起它們的一一對應(yīng)關(guān)系,進(jìn)行屬性連接,從而實現(xiàn)屬性數(shù)據(jù)的批量獲取。
隨著 GIS數(shù)據(jù)采集規(guī)模的擴大和更新速度的提高,人們對 GIS屬性數(shù)據(jù)質(zhì)量的檢查和控制越來越重視[7]。遺憾的是,目前各大工具型 GIS軟件均沒有設(shè)置特定模塊以實現(xiàn)基于空間位置的屬性錄入。雖然有些應(yīng)用型 GIS軟件帶有此模塊,如MapGIS土地利用數(shù)據(jù)庫系統(tǒng)軟件等,但是缺乏必要的檢測手段,無法評估屬性連接的數(shù)據(jù)的質(zhì)量,難以發(fā)現(xiàn)和控制錯誤。雖然用戶也可以利用工具型 GIS軟件的空間分析模塊間接實現(xiàn)“基于空間位置的屬性數(shù)據(jù)連接”,但是比較繁瑣,沒有針對性。
本文以 Visual Basic為集成開發(fā)環(huán)境,結(jié)合MapGIS二次開發(fā)包所提供的功能組件和控件進(jìn)行二次開發(fā),建立“基于空間位置的屬性數(shù)據(jù)連接”的專門模塊,實現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)的快速、批量融合,并給屬性連接提供必要的評價和檢測措施。
本文以點和線的屬性連接為例進(jìn)行研究。
空間分析是基于地理對象位置和形態(tài)特征的空間數(shù)據(jù)分析技術(shù),其目的在于提取和傳輸空間信息??臻g信息可以分為空間位置、空間分布、空間形態(tài)等??臻g位置關(guān)系是重要的空間關(guān)系,它是借助于空間坐標(biāo)系來傳遞的空間物體的個體定位信息[8-9]。本文基于空間位置的屬性數(shù)據(jù)連接方法借助于地理對象的空間位置來傳遞實體間的信息,其原理是:對于所有線對象,找到距離它最近的點對象,并計算出該點到該線之間的距離,然后將該點的特定屬性 (包括標(biāo)注內(nèi)容)、縱坐標(biāo)和橫坐標(biāo)及兩者距離等信息作為線對象的屬性記錄到線屬性表中去,從而實現(xiàn)基于空間位置的屬性數(shù)據(jù)連接。
根據(jù)點到直線和點到線段距離的定義,很容易得到點到直線段歐氏距離的算法。
如圖 1所示,設(shè) A、B、P三點坐標(biāo)分別為 A(XA,YA)、B(XB,YB)、P(X0,Y0)。
圖 1 點線關(guān)系示意圖
則線段 PA、PB、AB的分別長度為
否則
GIS中每條曲線可以看作由若干結(jié)點首尾順次相連的直線段所組成的多段線,故可在式 (1)、式 (2)的基礎(chǔ)上,定義點到曲線距離
基于空間位置屬性連接模塊的建立,主要分為兩個階段:第一階段是建立空間數(shù)據(jù)庫;第二階段是以 VisualBasic為集成開發(fā)環(huán)境,利用MapGIS6.7二次開發(fā)包 (SDK)提供的組件和控件進(jìn)行二次開發(fā),建立基于空間位置屬性連接模塊。
該模塊主要包括圖形顯示編輯、屬性結(jié)構(gòu)操作、屬性數(shù)據(jù)操作 (包括批量的屬性連接)、屬性查詢等。
1)導(dǎo)出需要連接的點和線文件的MapGIS明碼格式點文件 (φ.wat)和線文件 (φ.wal)。
2)在 Excel中打開文件,提取出有用信息。點信息提取相對簡單,這里主要介紹線信息的提取。
在 Excel中打開線明碼文件 (sheet(1)),并新建一個工作表單 (sheet(2))用于存放從 sheet(1)中提取的線上結(jié)點屬性。該過程通過如下宏代碼在Excel中實現(xiàn)
運行結(jié)果如圖 2所示。
圖 2 線及線上結(jié)點屬性信息
3)創(chuàng)建 Access數(shù)據(jù)庫,將需要進(jìn)行屬性連接的點文件及線文件通過上述明碼轉(zhuǎn)換過程,以數(shù)據(jù)表的形式存放在數(shù)據(jù)庫中。
(1)模塊界面設(shè)計
選擇 Map GIS6.7二次開發(fā)包 (SDK)所提供的Map GIS Bas Com1.dll、Map GISD sp Com.dll、MapGISLayer Com.dll、Map GIS Map Com.dll等組件和 Edit-View.ocx、Gis Att Edit.ocx、Att Stru Edit.ocx等控件。該模塊主要由登錄界面、模塊簡介界面、屬性數(shù)據(jù)連接基本流程界面、基于空間位置屬性數(shù)據(jù)連接模塊主界面及屬性查詢對話框等組成。圖 3為基于空間位置屬性數(shù)據(jù)連接模塊主界面。
圖 3 基于空間位置屬性數(shù)據(jù)連接模塊主界面
(2)程序設(shè)計
顯示MapGIS點線圖形,以點為例
添加注記點的注釋、橫坐標(biāo)和縱坐標(biāo)屬性字段,以添加注釋字段為例
獲取注記點屬性,此處使用數(shù)據(jù)庫連接技術(shù),進(jìn)行注記點屬性數(shù)據(jù)的自動化、批量輸入,以獲取第一條記錄的注記點注釋為例
獲取線上的每一個結(jié)點
結(jié)點屬性結(jié)構(gòu)的基本操作及屬性獲取與注記點類似。
屬性連接:主要是尋找每一條線的最近注記點,并且計算出注記點到線的距離,從而將注記點到線的距離、線注記、注記點橫坐標(biāo)、注記點縱坐標(biāo)作為對象線的屬性記錄到其屬性中去,實現(xiàn)屬性數(shù)據(jù)連接。具體是根據(jù)點到曲線距離的算法設(shè)計代碼。
屬性查詢:指定特定對象線的實體號就可查詢到屬性連接信息。
本案例的點、線文件選自某市土地整理項目規(guī)劃圖中的 MapGIS農(nóng)渠點文件和線文件,如圖 4所示。
圖 4 農(nóng)渠點、線工程文件
圖 5 農(nóng)渠點、線屬性連接圖
在土地整理規(guī)劃設(shè)計中,需在規(guī)劃圖中對路溝渠進(jìn)行編號,以方便工程量統(tǒng)計和日后的施工。一個建設(shè)規(guī)模 666.67 hm2的土地整理項目,路溝渠總量就能達(dá)到 200多條,實際操作中,往往先在圖上按照自上而下、從左往右的順序順次編號 (也就是標(biāo)注記點),然后再一條一條量算長度,工作量很大。而如果用基于空間位置屬性連接的方法,則可以批量獲取路溝渠的標(biāo)注內(nèi)容,然后將路溝渠等線文件屬性導(dǎo)出,即可便捷地進(jìn)行各種統(tǒng)計。
圖 5為通過該模塊實現(xiàn)的農(nóng)渠屬性連接情況。從圖中可以看到,“線注記”字段已經(jīng)有了該線的標(biāo)注內(nèi)容,而“注記點到線的距離”字段則記錄了進(jìn)行連接的點與線之間的距離。如果用戶發(fā)現(xiàn)屬性連接后某條線的該值偏大,可以方便地進(jìn)行定位,查找原因。用戶也可以定義特定距離值作為閾值,只有小于該值時才進(jìn)行屬性連接。
試驗表明,該模塊不僅提高了工作效率,簡化了工作步驟,而且操作流程易于掌握,更便于結(jié)果檢查和質(zhì)量控制。
本研究尚存在一些問題,今后的努力方向為:①直接通過數(shù)據(jù)庫讀取MapGIS點線文件的屬性;②對某些關(guān)鍵算法進(jìn)行優(yōu)化,比如建立更優(yōu)的空間點、線實體索引;③使界面更加友好,并增加相關(guān)的圖形編輯功能、數(shù)字化功能。
數(shù)據(jù)輸入是 GIS工程的重大內(nèi)容。然而針對數(shù)據(jù)錄入,目前的研究主要集中在數(shù)據(jù)格式的轉(zhuǎn)化,數(shù)字化技術(shù)等領(lǐng)域,而對于屬性數(shù)據(jù)的錄入方面研究較少。空間分析技術(shù)是 GIS的核心,從空間分析角度研究空間實體屬性的關(guān)聯(lián),對提高屬性數(shù)據(jù)的錄入速度、實現(xiàn)屬性數(shù)據(jù)的批量錄入以及增加屬性數(shù)據(jù)錄入手段,具有一定意義。
[1]高慧,婁策群.我國國土資源信息化建設(shè)的成就、問題與對策[J].情報科學(xué),2004,22(2):242-245.
[2]CHANG K T.地理信息系統(tǒng)導(dǎo)論 [M],陳健飛,譯.3版.北京:清華大學(xué)出版社,2009:5-10,94-114,165-172.
[3]吳信才.地理信息系統(tǒng)原理與方法 [M].北京:電子工業(yè)出版社,2007:58-63.
[4]張學(xué)明,何建美,陶健.面向 GIS的基礎(chǔ)空間數(shù)據(jù)加工模式的探討[J].測繪通報,2009(11):57-63.
[5]梁國華,蔡文惠.CASS和 MapGIS圖形接口的二次開發(fā)探討[J].測繪通報,2009(3):62-76.
[6]鐘世彬,鄭貴洲.AutoCAD和 MAPGIS間的數(shù)據(jù)轉(zhuǎn)換[J].測繪科學(xué),2005,30(3).97-99.
[7]劉春,史文中,劉大杰.GIS屬性數(shù)據(jù)精度的缺陷率度量統(tǒng)計模型[J].測繪學(xué)報,2003,32(1):36-41
[8]王勁峰,李連發(fā),葛詠,等.地理信息空間分析的理論體系探討[J].地理學(xué)報,2000,55(1):96-102.
[9]王勁峰,柏延臣,朱彩英,等.地理信息系統(tǒng)空間分析能力探討[J].中國圖象圖形學(xué)報:A輯,2001,6(9):849-853.
Research on Method of the Attribute Data Link Based on Spatial Position
ZHANGDaojun,REN Na,L IU Yueyan
0494-0911(2011)02-0063-03
P208
B
2010-04-09
張道軍 (1985—),男,江蘇宿遷人,碩士生,研究方向為國土資源信息化、土地利用規(guī)劃及數(shù)學(xué)地質(zhì)。