管紅龍, 劉肇仁
(湖南化工地質工程勘察院有限責任公司,湖南 長沙 410004)
隨著城市建設規模的不斷擴大以及國家土地審查部門對土地管理制度的不斷加強,土地勘測定界測繪在國家相關部門對土地使用的決策過程中起到了不可或缺的作用??睖y定界是根據土地開發及利用規劃等工作需要,實地調繪土地利用現狀、界定土地使用范圍、測定界址位置,計算用地面積,為國土資源行政主管部門用地審批和地籍管理等提供科學、準確的基礎資料而進行的技術服務性工作。目前我市的土地利用現狀底圖由MapGIS軟件制作,土地利用總體規劃底圖由ArcGIS軟件制作,在土地勘測定界制圖過程中利用相應軟件進行添加注記、線等要素并進行相應屬性編輯等操作。因為兩種不同格式數據不兼容的原因,對上述制圖過程中的操作必須分別在MapGIS和ArcGIS中進行,因此造成在制作土地利用總體規劃圖及土地利用現狀圖的過程中操作步驟繁瑣、界面切換頻繁等一系列弊端,極大影響了生產效率。對這些系統使用的單位來說,僅需要使用系統里面少量的簡單功能卻花費大量資金購買兩套專業GIS制圖軟件,在經濟方面來說也是很不劃算的。
本系統通過集成ArcGIS Engine、MapGIS Objects和Visual Studio,完成統一平臺的建立,實現了將兩種不同數據源、不同結構的數據集中統一在同一系統下進行輸入、編輯及輸出的過程。通過高集成性、優化操作步驟等,解決了作業員在制圖過程中需切換不同軟件進行編輯的繁瑣操作,達到簡化目的的同時提高了作業員的時效性,并減少項目開支。
ArcGIS Engine是美國Esri公司推出的用于開發C/S架構地理信息系統應用軟件的工具包,用于構建定制應用的一個完整的嵌入式的GIS組件庫。ArcGIS Engine提供了完善的地圖制圖及數據處理功能,還提供了空間分析等功能,使開發人員能夠快速、方便地開發出自定義的從簡單到復雜不同繁簡程度的GIS桌面應用程序?;贏rcGIS Engine開發的應用不同于傳統的基于應用軟件的插件式單純二次開發,開發后的地理信息應用軟件能夠脫離原有的ArcGIS桌面應用軟件獨立運行。
MapGIS地理信息系統是由武漢中地數碼科技有限公司在經過十多年數字制圖技術軟件開發的基礎上,開展GIS系統應用研究工作開發而來的,是當今流行的組件式GIS開發軟件。它提供了豐富的二次開發手段,其中包括MFC類庫類、API函數庫和組件開發庫。MapGIS Object是一組地圖軟件的組件(ActiveX控件),提供了一套功能強大而全面的帶有.NET Framework控件的程序集,包括地圖可視化控件、三維場景控件、MapGIS基礎工具控件等,具有地圖操作、查詢、編輯、空間分析以及數據轉換等GIS功能,能夠利用它在普通的編程語言(如VB、C#)上聯合使用其它軟件去實現地圖與用戶信息的聯系。
本輸出系統采用C#語言在.NET平臺進行二次開發。C#是一門由微軟公司開發小組運行于.NET Framework之上面向對象、平臺獨立、類型安全的高級程序設計語言。由C和C++衍生出來具有安全、穩定、簡單、優雅等特點的一種面向對象的編程語言,它能夠使程序員快速地開發出滿足客戶要求的應用程序。Microsoft .NET Framework是用于Windows的新托管代碼編程模型,由通用語言運行時(CLR)加強的安全規則。
利用C#與ArcGIS開發組件ArcGIS Engine和MapGIS開發組件一起開發出符合需要功能的系統可以很大程度提高作業員的作業效率,縮短多軟件不銜接造成的不必要耗時,節約生產成本,提高測繪服務質量,滿足現代化高效、高質、高服務的要求。
本系統嚴格依據可靠性原則、規范性原則、可移植性原則、高效率原則和可擴展性五大原則進行設計開發。
(1)可靠性原則:在數據處理過程中采用避錯設計、改錯設計及容錯設計的設計理念,極大增強系統避免故障發生的能耐力,且系統具有一定的解脫故障和排除故障的能力;(2)規范性原則:依據國家相關標準設計;(3)可移植性原則:在設計過程中采用獨立的模塊化設計,按照功能分類,功能相關性越大、結合越緊密的歸為同一類或組件,各模塊各司其職,增加代碼的重用性;(4)高效率原則:采用精心優化和簡化的代碼和高效的算法使軟件的整體運行效率比較高;(5)實用性原則:緊密結合生產實際需要,系統界面簡潔干凈、操作簡單易用;(6)可擴展原則:系統采用模塊化設計且預留有相關功能接口,由實際需要可在本系統擴展其他相應功能,也可經適當修改將本系統移植到其他軟件上應用。
利用組件開發土地利用圖幅輸出系統平臺主要有以下3個步驟:
(1)選擇系統的開發計算機語言及工具平臺,本系統編寫語言采用具有簡單、現代、通用特點以及面向對象的C#,編寫工具平臺為Visual Studio 2010版;(2)將使用到的MapGIS組件、ArcGIS組件及公共控件引用到應用程序中;(3)調用MapGIS組件、ArcGIS組件及公共控件的屬性和方法完成系統的基本功能。
系統可分別將不同格式的土地利用總體規劃圖(SHP格式)和土地利用現狀圖(MagGIS格式)輸入、編輯修改數據及輸出符合相關國家標準的測繪成果圖幅。
ArcGIS和MapGIS提供的二次開發庫均是基于.NET Framework的程序集,必須有.NET框架的支撐才能運行,系統開發層次構架如圖1所示。

圖1 土地勘測定界圖幅輸出系統開發層次構架圖
圖幅輸出系統所實現的功能主要有數據輸入輸出、圖層控制、屬性查詢、地圖注記標注、點線面編輯以及各類數據轉換等功能。
(1)數據輸入輸出:本系統中支持輸入土地利用總體規劃圖中的ArcGIS數據的mxd格式以及SHP格式數據,也支持輸入土地利用現狀圖的MapGIS數據格式。數據輸出部分包括導出圖片(JPEG格式)和直接打印兩部分,導出的圖片可以簡化審查者無紙化的審查過程。
(2)圖層控制:系統將所有地圖要素劃分為層,用戶可以同時打開顯示所有圖層,或者根據需要打開所選圖層,提供了可視化的圖層控制,根據需要可以打開或關閉圖層,也可以調整圖層的疊放順序。土地審批成果層包括區界圖、政府駐地、市界、地類圖斑、四至等。
(3)地圖注記標注:支持根據作業者的需要將該土地的項目名稱、建設單位及用地面積按照國標規定的字體及顏色標注在圖上。
(4)點線面編輯:支持分別添加、刪除ArcGIS格式和MapGIS格式的點線面數據,同時支持對相應數據的屬性修改,如修改點線面的形狀、顏色及線寬等。
(5)數據轉換:支持將不同格式的GIS數據進行兩兩轉換,如將ArcGIS的SHP數據或AutoCAD的DXF數據轉換為MapGIS數據,以及將AutoCAD的DXF數據轉換為ArcGIS的SHP數據。
在編制勘測定界測繪成果中的ArcGIS數據的土地利用總體規劃圖以及MapGIS數據的土地利用現狀圖時,需分別在兩個軟件中進行圖形編制及整飾,造成了的工作效率低下、耗時耗力耗財的弊端。為解決這一問題,本系統通過集成ArcGIS Engine、MapGIS Objects和Visual Studio實現了將多源數據的輸入、編輯及輸出等一系列制圖操作過程集成到了同一系統平臺。本系統不僅具有簡單、方便易操作、內存資源占用少、兼容性強等特點,同時具有將多種格式數據互相轉換的功能,實現了由不同軟件制作的不同格式數據在同一軟件操作的功能。本系統可在我國各勘測規劃公司、國土規劃等管理部門應用,不僅節省了操作人員、審批人員在不同軟件切換的時間,而且為應用單位節省了軟件開支。