賀秋華
(湖南省遙感中心,湖南長沙 410007)
MapGIS二次開發(fā)解決二調中權屬拐點移動的問題
賀秋華
(湖南省遙感中心,湖南長沙 410007)

介紹了以MapGIS-SDK6.7為平臺,用VB6.0進行二次開發(fā)出更適合二調數據庫建設的權屬拐點移動功能,彌補了二調軟件在數據庫建設過程中的不足。
二次開發(fā);二調;權屬
第二次全國土地調查包括農村土地調查和城鎮(zhèn)土地調查兩大部分,其中農村土地調查包括權屬調查和地類調查兩部分。權屬調查的主要內容包括:①查清農村集體土地所有權狀況;②查清國有農、林、牧、漁場(含部隊、勞改農場及使用的土地)的國有土地使用權狀況;③查清公路、鐵路、河流的權屬狀況;④其他土地的國有、集體權屬性質。為加快第二次土地調查的進度,在調查數據庫建庫過程中要充分利用第一次詳查的成果,其中包括重要的權屬調查成果。但由于第二次土地調查與第一次土地詳查所采用的坐標系不同,第一次土地詳查采用的是北京54坐標系,而第二次土地調查采用西安80坐標系,在這兩個坐標系之間存在一定的距離偏移。因此在將第一次詳查成果轉換成西安80坐標系之后,相應的權屬拐點成果與現(xiàn)行的行政轄區(qū)范圍界線存在位置偏移,不能完全吻合。有的縣級行政范圍內的權屬拐點達上萬個,如果一個一個移動需要花費大量的人力和時間,且不能一次性精確地移動到界址點上,在多次移動后也只能達到容差范圍內。MapGIS提供了豐富的二次開發(fā)函數,借助二次開發(fā)可以實現(xiàn)精確移動權屬拐點,且可以節(jié)省人力和時間,提高工作效率。
1.1 MapGIS開發(fā)方式
MapGIS軟件提供了完備的二次開發(fā)函數庫及類庫,具有強大的二次開發(fā)功能。它具有開放性、多層次、全功能的特點,并支持VC++、VB、Delphi等集成開發(fā)環(huán)境。用戶可在MapGIS平臺上,開發(fā)面向各自領域的應用系統(tǒng)。目前,MapGIS二次開發(fā)庫主要提供API函數、Active X控件、MFC類庫3種方式。
1)基于API函數開發(fā)。這些函數的實現(xiàn)被封裝在12個動態(tài)鏈接庫 (DLL)中,因此,是獨立于開發(fā)工具的。用戶在使用如VC++、VB或BC++、Delphi等高級語言編程時,如何調用Windows的API函數,就可依此調用MapGIS的二次開發(fā)函數。
2)基于MFC類庫開發(fā)。用面向對象的思想把一些API功能進行封裝,形成多個派生于MFC中Cview類的可重用基類,用戶利用基于MFC的MapGIS類庫,可構建面向對象軟件工程的 MapGIS應用系統(tǒng)。類庫開發(fā)是針對C++的。
3)基于組件 (控件)開發(fā)。它是基于COM(組件對象模型)標準的一種程序組建,能夠嵌入程序中運行完成一定功能,在軟件開發(fā)中實現(xiàn)了功能重用。在開發(fā)中,只需簡單調用功能接口就可以了。
第二次土地調查有專門的軟件公司開發(fā)的數據庫建設軟件,但是由于時間緊、內容繁多,軟件公司在開發(fā)軟件的同時,數據庫建設過程就已經開展,有一些在數據庫建設過程中遇到的問題沒有在系統(tǒng)設計過程中預先設置好,致使在實際的數據庫建設操作過程中需要利用人工方式去操作。人工操作會降低處理問題的速率,有時還達不到二調軟件運算操作時的精確度要求,比如拐點問題,按拐點的含義,該點必須在權屬界線上,如果由人工移的話,是很難將一個點精確地移動到權屬界線上。在每一個縣都存有這樣的問題,因此對于承擔二調調查行政單位比較多的技術單位來說,這樣的重復性工作將是一項比較繁重的任務。
本次數據庫建設已有專門的數據庫建設軟件,只是由于時間緊,其軟件是邊開發(fā)邊測試邊使用。在數據庫建設過程中遇到一些其軟件尚未開發(fā)出來的功能,對于其中不是普遍存在但是在數量大時又會影響工作進度的問題可以利用 MapGIS強大的二次開發(fā)對其進行一些功能上的補充。本次應用開發(fā)采用 MapGIS二次開發(fā)中的組件開發(fā)方式對拐點(界址點)移動功能進行二次開發(fā)。
1.2 MapGIS組件開發(fā)平臺
該平臺以一系列COM組件和ActiveX控件的形式提供了 GIS基本功能包括:數據管理組件、圖形顯示組件、圖層管理組件、地圖管理組件、圖例管理組件、圖像處理組件、屬性結構編輯控件等。表1是Windows文件與MapGIS組件的對應關系及其主要功能。

表1 Windows文件與MapGIS組件對應關系及其主要功能
1.3 MapGIS組件開發(fā)步驟
利用MapGIS組件開發(fā)平臺進行GIS應用程序的開發(fā)分以下幾個步驟進行:①選擇應用系統(tǒng)的開發(fā)工具,如VB、VC等;②將使用到的MapGIS組件引用到應用程序中;③調用 MapGIS組件的屬性和方法完成MapGIS基本功能;④開發(fā)應用系統(tǒng)專用的功能。
移動權屬拐點的小程序以VisualBasic作為開發(fā)工具,在VB中使用MapGIS組件對象進行開發(fā)的步驟如下所示:①嵌入MapGIS對象類型庫;②建立MapGIS對象;③調用MapGIS對象和其他VB對象的方法和屬性完成GIS應用軟件功能;④釋放MapGIS對象。
在第二次土地調查中,以一個縣(市、區(qū))為一個基本的調查單位。權屬拐點分布在整個縣級管轄范圍內,為簡化和便于理解,截取其中的一個圖斑和其中一個拐點進行示范移動,如圖1所示。
為便于將拐點精確地移動到圖斑區(qū)的界線點上,其移動的核心思路如下:

圖1 權屬拐點移動示意圖(左圖為移動前,右圖為移動后)
1)取得該圖斑區(qū)封閉弧段上各界址點的坐標;
2)分別計算各界址點與該權屬拐點的平面距離;

3)將2)中求得的點的坐標賦給該權屬拐點,更新該權屬拐點坐標;
4)保存。
其具體實現(xiàn)的核心代碼如圖2所示。

圖2 核心代碼圖
基于 MapGIS組件開發(fā)出的移動權屬拐點功能程序,可以更進一步彌補二調數據庫軟件平臺的功能,順利完成二調數據庫建設的任務;通過應用表明,該程序算法較合理,操作簡單,大大提高了工作效率。同時該程序也存在以下的一些不足或缺點,比如對于面積較大的縣級移動的時間較長,另外對于在縣級行政界線外但靠近的點無法實現(xiàn)移動,這些需要在以后進行更一步地修改和完善。
[1] 郭際元,曾文.MapGIS地理信息系統(tǒng)的二次開發(fā)[J].測繪信息與工程,2000,1:16-18
[2] 中地軟件叢書編委會.MapGIS地理信息系統(tǒng)開發(fā)手冊[M].武漢:中地信息工程有限公司,2000
[3] 中地軟件叢書編委會.MapGIS地理信息系統(tǒng)用戶教程[M].武漢:中地信息工程有限公司,2000
[4] 國務院第二次全國土地調查領導小組辦公室編.第二次全國土地調查培訓教材[M].北京:中國農業(yè)出版社,2007
MapGISSecond Development to Solve the Second Survey of Ownership Knee Moving Problems
by HEQiuhua
This paper instructed using Visual Basic(VB)6.0 based on MapGIS-SDK 6.7 to do second development to developmore suitable function for the instruction of the second survey database,which tomake up for the shortage of the second Survey software in the instruction of database.
second development,second survey,ownership (Page:125)
P272
B
1672-4623(2011)02-0125-02
2010-01-04
賀秋華,碩士,主要研究方向為數字農業(yè)和WebGIS系統(tǒng)應用。