劉 濤,彭清山,方 鵬,張 淼
(1.武漢市勘測設計研究院,湖北武漢430022;2.武漢大學資源與環(huán)境科學學院,湖北武漢430079)
城市空間數(shù)據(jù)庫建庫軟件的設計與研究
劉 濤1,2,彭清山1,方 鵬1,張 淼1
(1.武漢市勘測設計研究院,湖北武漢430022;2.武漢大學資源與環(huán)境科學學院,湖北武漢430079)
對城市地理信息系統(tǒng)中空間數(shù)據(jù)的獲取、預處理、轉(zhuǎn)換、編碼、監(jiān)理、入庫及更新等流程進行探討,并對當前城市空間數(shù)據(jù)庫建設中存在的一些問題進行分析,提出相應的解決方法。結合矢量數(shù)據(jù)編輯軟件AutoCAD和GIS應用軟件ArcGIS,探索一條可行的基于DLG數(shù)據(jù)的空間數(shù)據(jù)庫建庫技術路線。
城市地理信息系統(tǒng);空間數(shù)據(jù)庫;空間數(shù)據(jù)引擎;數(shù)據(jù)監(jiān)理
城市地理信息系統(tǒng)(Urban geographic information system,UGIS)是GIS應用于城市系統(tǒng)而產(chǎn)生的服務于城市規(guī)劃、管理、建設的一門可操作性極強的高新技術。隨著城市的快速發(fā)展,城市地理信息系統(tǒng)的應用越來越廣泛,對其需求也越來越多。UGIS建設首要解決的問題就是建立城市空間數(shù)據(jù)庫,但城市空間數(shù)據(jù)建庫任務繁重、容易出錯,而且其質(zhì)量直接影響著UGIS的應用。因此,對建庫工作的研究具有非常深遠的理論和現(xiàn)實意義。
本文首先對UGIS中空間數(shù)據(jù)的獲取、預處理、轉(zhuǎn)換、編碼、監(jiān)理、入庫及更新等過程進行了理論探討,并對當前城市空間數(shù)據(jù)庫建設中存在的一些問題進行了分析,提出了相應的解決方法。然后,在實際系統(tǒng)開發(fā)中,基于空間數(shù)據(jù)庫引擎ArcSDE,運用.NET、ObjectARX、Visual C++、Mapobjects2.2、ArcGIS Engine等開發(fā)工具對上述理論與技術進行了實踐,為城市空間數(shù)據(jù)庫建庫技術的進一步研究以及相關技術的研究提供了可以借鑒的經(jīng)驗。
城市空間數(shù)據(jù)庫的建庫過程是一個復雜而繁瑣的過程,涉及多方面數(shù)據(jù)的組織和管理,建庫工作質(zhì)量的好壞直接影響到后期UGIS的應用。本文討論了一套可行的關于空間數(shù)據(jù)獲取、組織、管理等的工作流程。
1.空間數(shù)據(jù)的獲取
空間數(shù)據(jù)的獲取是GIS建設首先進行的任務,它可以有多種實現(xiàn)方式,如數(shù)據(jù)轉(zhuǎn)換、遙感數(shù)據(jù)處理以及數(shù)字測量等。其中,地圖的數(shù)字化錄入是目前被廣泛采用的方式,也是最耗費人力資源的工作。在GIS中,錄入的內(nèi)容包括空間信息和非空間信息,前者是錄入的主體。
2.空間數(shù)據(jù)組織
目前,城市或地區(qū)的基礎地形圖(1∶500,1∶1 000,1∶2 000等大比例基礎地形圖)已經(jīng)基本完成了數(shù)字化工作,獲得了數(shù)字線劃圖(DLG),但其數(shù)據(jù)采集階段和成圖階段更多地考慮制圖的需要,因此常常無法滿足GIS應用的要求。隨著空間數(shù)據(jù)庫技術的發(fā)展,空間數(shù)據(jù)庫引擎的產(chǎn)生為GIS的數(shù)據(jù)組織和管理提供了很好的技術保障。
(1)空間數(shù)據(jù)預處理
目前常規(guī)的數(shù)據(jù)處理方式是先利用AutoCAD軟件完成數(shù)據(jù)的編輯工作,再轉(zhuǎn)換成相應的GIS軟件的格式,并在GIS軟件中完成屬性數(shù)據(jù)的錄入工作,但此項數(shù)據(jù)錄入工作是相當繁瑣和費時的。在實際工作中,大多數(shù)作業(yè)員對AutoCAD軟件已經(jīng)非常熟悉,并且存在依賴思想,對專業(yè)GIS軟件有一定的抵觸情緒,使得屬性數(shù)據(jù)錄入工作量非常巨大。如果能夠?qū)⒖臻g數(shù)據(jù)的屬性錄入工作放在CAD軟件環(huán)境下完成,并保持原有AutoCAD軟件的操作習慣,將會大大提高數(shù)據(jù)錄入的效率,從而提高整個GIS數(shù)據(jù)加工的效率。
在本系統(tǒng)中,筆者在AutoCAD環(huán)境下利用Visual C++6.0、ObjcetARX和MapObjects 2.2軟件進行了二次開發(fā),完成了圖層標準化、屬性數(shù)據(jù)錄入(將每個要素的屬性信息存儲在擴展數(shù)據(jù)中)、數(shù)據(jù)檢查、數(shù)據(jù)轉(zhuǎn)換等工作。該部分處理流程如圖1所示。
圖1 AutoCAD下數(shù)據(jù)的預處理
(2)空間數(shù)據(jù)分類編碼
對城市基礎地理信息進行分類和編碼,是建立城市基礎地理信息數(shù)據(jù)庫的一項重要的基礎工作。通過分類編碼,可將所有地理要素組織在科學的空間定位系統(tǒng)中,以保證城市基礎地理信息存儲與交換的一致性,并滿足信息共享的需要。各系統(tǒng)可根據(jù)自己的需要進行編碼,一般編碼中的基本碼部分應參考國家標準《基礎地理信息要素分類與代碼》(GB/T 13923—2006)。
(3)空間數(shù)據(jù)的元數(shù)據(jù)管理
在地理空間數(shù)據(jù)中,元數(shù)據(jù)是說明數(shù)據(jù)內(nèi)容、質(zhì)量、狀況和其他有關特征的背景信息。隨著計算機技術和GIS技術的發(fā)展,特別是網(wǎng)絡通信技術的發(fā)展,空間數(shù)據(jù)共享日益普遍。因此,空間數(shù)據(jù)的內(nèi)容、質(zhì)量、狀況等元數(shù)據(jù)信息管理就變得更加重要,并成為信息資源有效管理和應用的重要手段。地理信息元數(shù)據(jù)標準和操作工具已經(jīng)成為國家空間數(shù)據(jù)基礎設施的一個重要組成部分。
3.空間數(shù)據(jù)的檢查(數(shù)據(jù)監(jiān)理)
(1)數(shù)據(jù)檢查的目的
數(shù)據(jù)質(zhì)量的好壞直接影響著GIS應用、分析、決策的正確性和可靠性。數(shù)據(jù)檢查(數(shù)據(jù)監(jiān)理)的目的就在于對入庫前的空間數(shù)據(jù)進行檢查,確保入庫前數(shù)據(jù)的準確性。在本系統(tǒng)中,數(shù)據(jù)監(jiān)理的對象是對入庫前的GIS數(shù)據(jù)(即經(jīng)過AutoCAD環(huán)境下預處理后轉(zhuǎn)換的數(shù)據(jù))再次進行檢查,以驗證數(shù)據(jù)是否符合入庫的規(guī)范。
(2)數(shù)據(jù)監(jiān)理的主要內(nèi)容
數(shù)據(jù)監(jiān)理的主要內(nèi)容包括:
1)數(shù)學精度的檢查。主要包括圖形的坐標系統(tǒng)正確性檢查;圖層的投影方式正確性檢查;地形圖的精度檢查等。
2)屬性精度的檢查。主要包括圖層完備性、一致性檢查;圖層屬性結構的完備性、一致性檢查;要素編碼正確性檢查等。
3)邏輯一致性的檢查。主要包括:
a.點狀要素的邏輯性檢查。主要檢查點狀要素是否存在重點情況,即兩個和兩個以上的點完全重合。
b.線狀要素的邏輯性檢查。主要檢查圖形是否重復錄入;要求閉合多義線是否封閉(如地類界線,境界線等)懸掛線(檢查懸掛線本身的長度,檢查懸掛線與最近線要素距離);偽結點的檢查;同一要素的連續(xù)性檢查(如線狀水系、道路等);指定不可以自相交的要素類型是否存在自相交的現(xiàn)象(如等高線、水系、境界等)。
c.面狀要素的邏輯性檢查。主要檢查圖形是否重復錄入;面狀要素是否有自相交現(xiàn)象;畸變點檢查;同一要素的連續(xù)性檢查(如面狀水系、道路等);相鄰面狀要素的共邊性檢查。
數(shù)據(jù)監(jiān)理的工作流程如圖2所示。
圖2 數(shù)據(jù)監(jiān)理的工作流程
4.空間數(shù)據(jù)的入庫
本系統(tǒng)中空間數(shù)據(jù)的入庫過程,實際上就是將本機空間、非空間數(shù)據(jù),通過空間數(shù)據(jù)庫引擎提供的應用接口(API)存儲到大型DBMS關系型數(shù)據(jù)庫的過程??臻g數(shù)據(jù)的獲取及入庫流程如圖3所示。
本系統(tǒng)服務于城市基礎空間數(shù)據(jù)建庫及綜合應用,涵蓋數(shù)據(jù)采集、加工、質(zhì)檢、驗收建庫、數(shù)據(jù)標準化、規(guī)范化及數(shù)據(jù)庫綜合管理、綜合應用的一體化建庫及應用過程。
圖3 空間數(shù)據(jù)的獲取與入庫流程
1.系統(tǒng)技術路線
本系統(tǒng)綜合利用.NET平臺、Visual C++、ObjectARX、Mapobjects2.2、ArcGIS Engine9.3等多種開發(fā)平臺進行綜合開發(fā)。其中利用Visual C++、ObjectARX、Mapobjects2.2完成AutoCAD預處理模塊的開發(fā),利用.NET平臺和ArcGIS Engine完成獨立建庫軟件的開發(fā)。
2.系統(tǒng)基本框架
本系統(tǒng)由AutoCAD預處理模塊、數(shù)據(jù)加載、圖層控制模塊、數(shù)據(jù)監(jiān)理模塊、數(shù)據(jù)入庫、更新模塊、數(shù)據(jù)編輯模塊、查詢、統(tǒng)計、分析模塊、數(shù)據(jù)輸出模塊和元數(shù)據(jù)管理模塊幾部分組成,系統(tǒng)的總體結構如圖4所示。
3.系統(tǒng)功能設計
(1)數(shù)據(jù)預處理子模塊
本模塊在AutoCAD環(huán)境下利用其二次開發(fā)控件ObjectARX、MapObjects 2.2完成。以實現(xiàn)對原始的基本地形圖矢量數(shù)據(jù)進行預處理,使其標準化、規(guī)范化,并完成相關屬性數(shù)據(jù)的錄入工作。經(jīng)過預處理的數(shù)據(jù),經(jīng)檢測滿足要求后進行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換成ArcGIS的SHP文件格式,初步滿足數(shù)據(jù)入庫的要求。
AutoCAD環(huán)境下本模塊數(shù)據(jù)預處理流程如圖5所示。
圖4 系統(tǒng)總體結構圖
圖5 AutoCAD環(huán)境下數(shù)據(jù)預處理流
(2)數(shù)據(jù)加載、圖層管理子模塊
該模塊主要完成數(shù)據(jù)接口設計及圖層規(guī)范管理控制。經(jīng)過AutoCAD預處理后的空間數(shù)據(jù)可通過獨立系統(tǒng)加載進來。由于ArcGIS Engine支持廣泛的數(shù)據(jù)格式,如ArcInfo COVERAGE、Shape files、ArcSDE圖層、ImageLayer、DXF、DWG和大量的柵格圖像格式BMP、GRID、JPG等,實際上就解決了數(shù)據(jù)接口的大部分問題,關鍵是如何將這些數(shù)據(jù)進行分類管理起來。
在ArcGIS Engine中,對于SHP文件而言,是以CMoMapLayer的形式進行加載的;對于柵格圖像是以CMoImageLayer的形式加載的;對于DXF、DWG文件則是分為點、線、面、注記的形式分別加載的。在程序中可以自己定義一個CLayer來管理各類圖層信息,在CLayer類內(nèi)部建立標識碼來標識當前加載圖層的類型,對于不同的文件類型分別調(diào)用不同的加載模塊函數(shù)。
(3)數(shù)據(jù)質(zhì)檢、數(shù)據(jù)監(jiān)理模塊
該模塊主要完成數(shù)據(jù)的質(zhì)量檢查工作,系統(tǒng)針對不同比例尺同種數(shù)字產(chǎn)品制定了相應的質(zhì)量規(guī)則和要求。對同一數(shù)據(jù),質(zhì)量檢查的規(guī)則不是一個定值,而是隨著產(chǎn)品的比例尺、性質(zhì)、要求的改變而變化的。根據(jù)以上的情況筆者給出了“規(guī)則庫”這個概念。在本系統(tǒng)中規(guī)則庫以Access數(shù)據(jù)庫表的形式存儲,數(shù)據(jù)庫結構預先定義好,用戶根據(jù)不同比例尺的數(shù)字產(chǎn)品填寫相應的規(guī)范內(nèi)容,系統(tǒng)在調(diào)用數(shù)據(jù)監(jiān)理模塊時先調(diào)用數(shù)據(jù)庫中的規(guī)則,然后再與實際數(shù)據(jù)進行比較,進而得出檢查結果。
(4)數(shù)據(jù)入庫、更新、維護子模塊
1)數(shù)據(jù)入庫。經(jīng)過數(shù)據(jù)預處理和數(shù)據(jù)監(jiān)理后的空間數(shù)據(jù),可以認定為合格的數(shù)據(jù),可進行入庫處理。將符合要求的數(shù)據(jù)存放到已經(jīng)定義好的數(shù)據(jù)庫中。一般來說,一幅圖的入庫,需要經(jīng)過檢查→預入庫→修改→再入庫等幾個反復過程,才能滿足需要入庫。同時為了保證一個工程的完整性,允許建立臨時的工程進行數(shù)據(jù)的預入庫,直到最后沒有任何錯誤時再將數(shù)據(jù)正式入庫。
在UGIS中,任何空間地理數(shù)據(jù)都必須納入一個統(tǒng)一的空間參照系統(tǒng),才能進行各種空間分析,為規(guī)劃、管理和決策提供科學依據(jù)。
2)數(shù)據(jù)更新與維護。一方面通過數(shù)據(jù)更新機制不斷獲得現(xiàn)勢數(shù)據(jù)對數(shù)據(jù)庫進行更新維護;另一方面必須保存歷史數(shù)據(jù)以便進行歷史查詢和數(shù)據(jù)對比等操作。數(shù)據(jù)更新的基本結構如圖6所示。
圖6 數(shù)據(jù)更新基本結構
(5)數(shù)據(jù)編輯子模塊
數(shù)據(jù)的編輯實際上就是對屬性數(shù)據(jù)和地理目標的空間位置信息進行修改。數(shù)據(jù)編輯的主要內(nèi)容是對地圖數(shù)據(jù)的增加、刪除和修改。其中,增加和刪除操作的單位都是一個完整的空間目標(即一條完整的空間坐標記錄和一條完整的屬性數(shù)據(jù)記錄);而修改操作相對就要復雜一些,它不但要求對某個屬性數(shù)據(jù)字段進行修改,還應能對空間坐標數(shù)據(jù)進行修改(包括對空間目標的節(jié)點進行移動、增加、刪除等操作)。
(6)數(shù)據(jù)查詢、統(tǒng)計、分析子模塊
系統(tǒng)具備基本的GIS查詢、統(tǒng)計和分析功能。主要包括:
1)查詢功能。包含圖形查屬性,跨圖層進行空間要素屬性信息的查詢;屬性查圖形,對滿足屬性條件的空間要素的查詢、定位;SQL查詢,對任意圖層、任意字段進行SQL復合查詢;空間關系查詢,即落入查詢,穿越查詢,包含查詢;元數(shù)據(jù)的查詢等。
2)分析功能。包含長度、面積、坐標、角度的量算;空間緩沖區(qū)分析;拓撲疊加分析;行業(yè)、專業(yè)應用的空間分析等。
3)統(tǒng)計功能。包含空間分析結果的統(tǒng)計;查詢結果的統(tǒng)計;指定圖層、字段項目的統(tǒng)計;行業(yè)、專業(yè)應用的統(tǒng)計等。
(7)數(shù)據(jù)成果輸出子模塊
該模塊用于用戶對空間數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進行提取,可以按圖幅、任意范圍提出空間數(shù)據(jù);制作各種地圖和專題圖。數(shù)據(jù)輸出為GIS格式(ArcGIS SHP)或CAD格式(AutoCAD DXF),可滿足相關用戶的數(shù)據(jù)交換。
(8)元數(shù)據(jù)管理子模塊
系統(tǒng)中對于空間數(shù)據(jù)的元數(shù)據(jù),建立元數(shù)據(jù)庫,以Access數(shù)據(jù)庫表格進行存儲。系統(tǒng)模塊開發(fā)中利用ADO.NET對元數(shù)據(jù)庫進行輸入、編輯與維護管理、查詢檢索、發(fā)布等功能。
在武漢市人防地理信息系統(tǒng)中,該建庫軟件被用戶應用于系統(tǒng)空間數(shù)據(jù)的建庫工作。對武漢市8 000 km2基礎地形圖,數(shù)千項人防工程、人防警報等專題數(shù)據(jù)完成了系統(tǒng)的建庫任務,取得了比較好的效果,目前該系統(tǒng)正被應用于武漢市人民防空辦公室,為武漢市人防規(guī)劃和管理工作提供服務。圖7~圖8為系統(tǒng)界面截圖。
圖7 AutoCAD預處理模塊截圖
圖8 城市空間數(shù)據(jù)庫建庫軟件截圖
城市空間數(shù)據(jù)庫的建設是UGIS需要首要解決的問題,同時,空間數(shù)據(jù)庫的建設在整個GIS工作流程中所占用的人力、物力和財力也是最大的。因而,城市空間數(shù)據(jù)庫建設的好壞將直接影響到后期GIS的應用,甚至會影響到整個GIS系統(tǒng)的成敗。
本文分析了城市空間數(shù)據(jù)庫建庫中的數(shù)據(jù)獲取、數(shù)據(jù)編碼、數(shù)據(jù)預處理、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)監(jiān)理、數(shù)據(jù)入庫、數(shù)據(jù)更新與維護以及數(shù)據(jù)輸出與應用等過程。針對目前應用最多的DLG數(shù)據(jù)管理平臺Auto-CAD和GIS應用平臺ArcGIS,提出了整個數(shù)據(jù)入庫的解決流程,并在Visual C++、.NET等開發(fā)平臺下,借助ObjectARX、MapObjects 2.2和ArcGIS Engine等二次開發(fā)工具和接口開發(fā)出了城市空間數(shù)據(jù)庫建庫軟件,并在實際應用中取得了較好的效果。
[1] 馬明棟,張曼莉,張春皓.城市地理信息系統(tǒng)的基本功能[J].阜新礦業(yè)學院報:自然科學版,1997,16(3): 328-331.
[2] 鄔倫.地理信息系統(tǒng)原理方法和應用[M].北京:科學出版社,2001.
[3] 李德仁,龔健雅,李京偉,等.中國空間數(shù)據(jù)基礎設施建設[J].測繪通報,2002(11):4-7.
[4] 吳立新,史文中.地理信息系統(tǒng)原理與算法[M].北京:科學出版社,2003.
[5] 陳述彭,魯學軍,周成虎.地理信息系統(tǒng)導論[M].北京:科學出版社,2000.
[6] 崔洪波,丁明柱.幾種基礎地理信息數(shù)據(jù)庫建庫方式的比較[J].東北測繪,2002,25(2):12-13,15.
[7] 黃堅,王丹,丁軍.城市公共基礎空間數(shù)據(jù)庫建設方法初探[J].測繪通報,2003(2):42-43,46.
Design and Research on Software for Urban Spacial Database
LIU Tao,PENG Qingshan,F(xiàn)ANG Peng,ZHANG Miao
0494-0911(2011)10-0060-05
P208
B
2010-05-25
劉 濤(1979—),男,湖北石首人,博士生,工程師,主要從事地理信息系統(tǒng)應用與開發(fā)工作。