余劍
(蚌埠市勘測設計研究院,安徽蚌埠 233000)
隨著經濟的快速發展,土地開發利用的速度也越來越快了,業主在開發利用土地前,要向土地管理部門進行報批,主管部門審批合格后,方可進行掛牌出讓。在土地報批時出具的勘測定界報告就是測繪單位的測繪成果之一。
土地勘測定界測量是地籍測繪中的一種,主要的工作是界址測量、地形要素測量、區劃要素測量、權屬要素測量、地類要素測量等。筆者所在的單位開展土地勘測定界測量工作多年,當時的工作主要靠人工來計算各種土地利用分類面積和地塊總面積,這種工作方法容易出現一些錯誤,而且費時費力,對土地的報批進度和質量有一定的影響。隨著技術的發展,測繪工作的內外業已經實現了數字化、一體化和自動化,而且內業都是在專業的軟件平臺上直接操作,在很大程度上方便了我們的工作,減少了出錯率。但軟件平臺只是一種通用平臺,沒有為特定的功能進行定制,比如在面積統計、面積檢查等方面需要人工來計算,有的地塊面積比較大的情況下,涉及的地類、行政區劃、國有土地等比較多時,內業的計算量還是很大。為了解決這一問題,實現內業自動化,提高工作效率,筆者在通用軟件平臺上進行了二次開發,定制了一套適合規范標準的土地勘測定界系統。
(1)應用平臺:選用的是AutoCAD平臺,它是Autodesk公司生產的自動計算機輔助設計軟件,用于二維繪圖、詳細繪制、設計文檔和基本三維設計。現已經成為國際上廣為流行的繪圖工具。AutoCAD具有良好的用戶界面,通過交互菜單或命令行方式便可以進行各種操作。
(2)開發語言平臺:在AutoCAD的各種開發語言中,毫無疑問以VC++為基礎的ObjectARX的開發功能非常強大,但是掌握VC++及ObjectARX相對來說困難也是非常大。而AutoCAD其他已有的開發工具如VBA、VisualLisp等雖然方便易學,開發周期也比較短,但是對執行速度和性能要求很高的解決方案或者復雜的程序,VBA和VisualLisp就難以勝任了。
從AutoCAD 2006開始,增加了.NET API,它提供了一系列托管的外包類,使開發人員可在.NET框架下,使用任何支持.NET 的語言,如 VB.NET、C#、Managed C++等對AutoCAD進行二次開發,隨著版本的更新,在AutoCAD 2011中,.NET API已經擁有與C++相匹配的強大功能,由于開發接口完全面向對象,又具有方便易用的特點,所以.NET API是目前較理想的AutoCAD開發工具。
(3)數據庫平臺:Microsoft Office Access是由微軟發布的關聯式數據庫管理系統。它結合了 Microsoft Jet Database Engine和圖形用戶界面兩項特點,是 Microsoft Office的系統程式之一。Access能夠存取Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC兼容數據庫內的資料。雖然相對于那些大型數據庫來說,Access功能要少很多,但是對于開發小型的軟件已經足夠了。
本系統的設計主要依據勘測定界測量的內業步驟,包括項目設置、土地分類統計、界址點標注、信息入庫、項目輸出和查詢等,如圖1所示。

圖1 系統流程圖
根據內業操作的作業流程,將系統分為3個模塊,分別是項目設置、圖形操作、成果輸出,每個模塊將實現具體的功能,如圖2所示。

圖2 模塊設計圖
(1)在開始一個項目前,應對項目中一些常用功能進行設置,如項目名稱、項目負責人、完成時間、項目所在地的行政區劃等,設置完畢后將項目信息保存到數據庫中,而單位負責人、資料審核人等以XML文件格式保存,在生成報告時需要重新讀取。
(2)在行政區劃設置中,因城市中的行政區劃數據繁多,靠人工來記憶,容易出錯。為了解決這一問題,程序需要連接地理信息中的地名數據庫,并定期更新,當然也可以手動添加數據。這樣可避免作業員在操作過程中出現對行政區劃不熟悉而產生的錯誤,如圖4所示。

圖3 工作設置

圖4 行政區劃設置

圖5 圖形操作
(1)在項目設置完畢后,就要對界址線進行操作,需要查看界址線的方向、起點、是否閉合,根據需要做適當的修改。
(2)在土地勘測定界中,有的時候需要對界址點間距做出限制,那么在生成界址點時,根據設置的最大距離,自動完成加點工作,并生成界址點號和界址點坐標表,完成后導入數據庫,方便以后進行查詢和修改。
(3)在土地利用現狀分類中,把所有的土地類型導入到下拉列表框中,用戶在使用過程中直接選取就可以了,然后生成規定格式標注,如圖6所示。

圖6 地類標注

圖7 成果輸出
(1)在所有的土地分類結束后,就可以進行面積統計檢查,如果各分類面積總計和界址線總面積的差值在允許范圍內,則根據面積進行平差,自動更改圖上的注記面積。如果相差太大,那么需要作業者檢查各面積的準確性,直至找到原因為止。
(2)在確認面積無誤的情況下,可以進行成果的輸出。這些成果的格式在不同地區都大不相同,如Word、Excel等,那么在程序編制的時候把事先做好模板打包起來,在成果輸出的時候直接調用它,并填入相應的數據,保存結果就可以了,如圖8所示。

圖8 輸出成果
(3)在歷史項目中,可以看到以前做的所有項目,并且可以查詢到每宗地的界址線,為了與GIS系統進行數據交換,可以將界址線導出為XML交換文件,如圖9所示。

圖9 歷史項目查看
本系統開發結束后,經過多次測試,現已投入到具體工作中。在多個工程項目中,運用該程序實現了自動標注界址點、地類的自動標注、自動統計檢查和成果輸出的自動化。免去了手工輸入數據、手工計算檢查等繁瑣工作,同時避免了因手工數據輸入、計算可能出現的錯誤,提高了工作效率,尤其在大面積地塊中,工作效率的提高非常明顯。
[1]Thearon Willis,Bryan Newsome.Visual Basic 2005 入門經典[M].北京:清華大學出版社,2006.
[2]彭慧卿,李瑋.Access數據庫技術及應用[M].北京:清華大學出版社,2010.
[3]秦洪現,崔惠嵐,孫劍等.Autodesk系列產品開發培訓教程[M].北京:化學工業出版社,2008.
[4]王儂,廖元焰.地籍測量[M].北京:測繪出版社,2008.
[5]曾洪飛,張帆,盧擇臨.AutoCad VBA&VB.NET開發基礎與實例教程[M].北京:中國電力出版社,2008.
[6]浮懷鵬,譚盧師,吳元碩.CAD圖元擴展數據[J].華北水利水電學院學報,2010.03,74 ~75.