MapGIS二次开发解决二调中权属拐点移动的问题

2011-09-27 10:43贺秋华
地理空间信息 2011年2期
关键词:类库拐点权属

贺秋华

(湖南省遥感中心,湖南长沙 410007)

MapGIS二次开发解决二调中权属拐点移动的问题

贺秋华

(湖南省遥感中心,湖南长沙 410007)

介绍了以MapGIS-SDK6.7为平台,用VB6.0进行二次开发出更适合二调数据库建设的权属拐点移动功能,弥补了二调软件在数据库建设过程中的不足。

二次开发;二调;权属

第二次全国土地调查包括农村土地调查和城镇土地调查两大部分,其中农村土地调查包括权属调查和地类调查两部分。权属调查的主要内容包括:①查清农村集体土地所有权状况;②查清国有农、林、牧、渔场(含部队、劳改农场及使用的土地)的国有土地使用权状况;③查清公路、铁路、河流的权属状况;④其他土地的国有、集体权属性质。为加快第二次土地调查的进度,在调查数据库建库过程中要充分利用第一次详查的成果,其中包括重要的权属调查成果。但由于第二次土地调查与第一次土地详查所采用的坐标系不同,第一次土地详查采用的是北京54坐标系,而第二次土地调查采用西安80坐标系,在这两个坐标系之间存在一定的距离偏移。因此在将第一次详查成果转换成西安80坐标系之后,相应的权属拐点成果与现行的行政辖区范围界线存在位置偏移,不能完全吻合。有的县级行政范围内的权属拐点达上万个,如果一个一个移动需要花费大量的人力和时间,且不能一次性精确地移动到界址点上,在多次移动后也只能达到容差范围内。MapGIS提供了丰富的二次开发函数,借助二次开发可以实现精确移动权属拐点,且可以节省人力和时间,提高工作效率。

1 MapGIS二次开发

1.1 MapGIS开发方式

MapGIS软件提供了完备的二次开发函数库及类库,具有强大的二次开发功能。它具有开放性、多层次、全功能的特点,并支持VC++、VB、Delphi等集成开发环境。用户可在MapGIS平台上,开发面向各自领域的应用系统。目前,MapGIS二次开发库主要提供API函数、Active X控件、MFC类库3种方式。

1)基于API函数开发。这些函数的实现被封装在12个动态链接库 (DLL)中,因此,是独立于开发工具的。用户在使用如VC++、VB或BC++、Delphi等高级语言编程时,如何调用Windows的API函数,就可依此调用MapGIS的二次开发函数。

2)基于MFC类库开发。用面向对象的思想把一些API功能进行封装,形成多个派生于MFC中Cview类的可重用基类,用户利用基于MFC的MapGIS类库,可构建面向对象软件工程的 MapGIS应用系统。类库开发是针对C++的。

3)基于组件 (控件)开发。它是基于COM(组件对象模型)标准的一种程序组建,能够嵌入程序中运行完成一定功能,在软件开发中实现了功能重用。在开发中,只需简单调用功能接口就可以了。

第二次土地调查有专门的软件公司开发的数据库建设软件,但是由于时间紧、内容繁多,软件公司在开发软件的同时,数据库建设过程就已经开展,有一些在数据库建设过程中遇到的问题没有在系统设计过程中预先设置好,致使在实际的数据库建设操作过程中需要利用人工方式去操作。人工操作会降低处理问题的速率,有时还达不到二调软件运算操作时的精确度要求,比如拐点问题,按拐点的含义,该点必须在权属界线上,如果由人工移的话,是很难将一个点精确地移动到权属界线上。在每一个县都存有这样的问题,因此对于承担二调调查行政单位比较多的技术单位来说,这样的重复性工作将是一项比较繁重的任务。

本次数据库建设已有专门的数据库建设软件,只是由于时间紧,其软件是边开发边测试边使用。在数据库建设过程中遇到一些其软件尚未开发出来的功能,对于其中不是普遍存在但是在数量大时又会影响工作进度的问题可以利用 MapGIS强大的二次开发对其进行一些功能上的补充。本次应用开发采用 MapGIS二次开发中的组件开发方式对拐点(界址点)移动功能进行二次开发。

1.2 MapGIS组件开发平台

该平台以一系列COM组件和ActiveX控件的形式提供了 GIS基本功能包括:数据管理组件、图形显示组件、图层管理组件、地图管理组件、图例管理组件、图像处理组件、属性结构编辑控件等。表1是Windows文件与MapGIS组件的对应关系及其主要功能。

表1 Windows文件与MapGIS组件对应关系及其主要功能

1.3 MapGIS组件开发步骤

利用MapGIS组件开发平台进行GIS应用程序的开发分以下几个步骤进行:①选择应用系统的开发工具,如VB、VC等;②将使用到的MapGIS组件引用到应用程序中;③调用 MapGIS组件的属性和方法完成MapGIS基本功能;④开发应用系统专用的功能。

移动权属拐点的小程序以VisualBasic作为开发工具,在VB中使用MapGIS组件对象进行开发的步骤如下所示:①嵌入MapGIS对象类型库;②建立MapGIS对象;③调用MapGIS对象和其他VB对象的方法和属性完成GIS应用软件功能;④释放MapGIS对象。

2 权属拐点移动实现

在第二次土地调查中,以一个县(市、区)为一个基本的调查单位。权属拐点分布在整个县级管辖范围内,为简化和便于理解,截取其中的一个图斑和其中一个拐点进行示范移动,如图1所示。

为便于将拐点精确地移动到图斑区的界线点上,其移动的核心思路如下:

图1 权属拐点移动示意图(左图为移动前,右图为移动后)

1)取得该图斑区封闭弧段上各界址点的坐标;

2)分别计算各界址点与该权属拐点的平面距离;

3)将2)中求得的点的坐标赋给该权属拐点,更新该权属拐点坐标;

4)保存。

其具体实现的核心代码如图2所示。

图2 核心代码图

3结语

基于 MapGIS组件开发出的移动权属拐点功能程序,可以更进一步弥补二调数据库软件平台的功能,顺利完成二调数据库建设的任务;通过应用表明,该程序算法较合理,操作简单,大大提高了工作效率。同时该程序也存在以下的一些不足或缺点,比如对于面积较大的县级移动的时间较长,另外对于在县级行政界线外但靠近的点无法实现移动,这些需要在以后进行更一步地修改和完善。

[1] 郭际元,曾文.MapGIS地理信息系统的二次开发[J].测绘信息与工程,2000,1:16-18

[2] 中地软件丛书编委会.MapGIS地理信息系统开发手册[M].武汉:中地信息工程有限公司,2000

[3] 中地软件丛书编委会.MapGIS地理信息系统用户教程[M].武汉:中地信息工程有限公司,2000

[4] 国务院第二次全国土地调查领导小组办公室编.第二次全国土地调查培训教材[M].北京:中国农业出版社,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

贺秋华,硕士,主要研究方向为数字农业和WebGIS系统应用。

猜你喜欢
类库拐点权属
房屋“权属存在争议”的合理认定
秦国的“拐点”
新拐点,新机遇
用Java编写客户机/服务器端应用程序
恢复高考:时代的拐点
Python在数据可视化中的应用
数据结构课程教学改革方案和应用效果
数据结构可视化类库的设计与实现
《廉洁拐点》
农村宅基地房屋权属的确定