ActiveX技术在农村土地整治测绘中的应用

时间:2022-04-12 09:37:10

ActiveX技术在农村土地整治测绘中的应用

摘要:通过Visual Basic编程整合Autocad、Mapinfo、Microsoft Excel的图数处理能力,高效地对农村土地整治测绘数据进行绘图、分析、修改、统计、输出,突出了ActiveX接口技术在生产实践中的有效应用。

关键字:ActiveX农村土地整治测绘

Summary :After the programming integration by Visual Basic in respect of Autocad, Mapinfo and Microsoft Excel's chart processing capabilities, efficiently increase the capability of rural land arrangement survey data in order to process map, analysis, modification, statistics and output, highlights the ActiveX interface technology in the production practice of the effectiveness.

Keywords : ActiveXRural land arrangement mapping

中图分类号:G812.42文献标识码:A 文章编号:

1 前言

ActiveX技术的本质是标准,底层的技术支撑为组件对象模型(COM)。作为主要服务Internet应用的技术,ActiveX用于Web服务器及客户端。同时,由于众多软件对其标准的支持,ActiveX技术也广泛应用于桌面程序开发。

农村土地整治作为保持耕地面积、提高耕地质量的重要手段已开展多年。土地整治测绘工作具有明显特征,在资料制作过程中涉及众多软件应用,如何在实践中通过ActiveX技术对各种软件进行功能整合、进而实现数据的自动交换是探讨的重点。

2 农村土地整治测绘特征

农村土地整治测绘工作包括前期测绘与竣工测绘,测图比例尺为1:2000,工作内容包括:

地形图测绘;

土地利用现状调查;

现状设施属性调查;

土地利用现状图制作;

土地利用分类统计台帐制作;

现状地类与最新1:10000土地利用现状数据对比分析;

竣工图测绘;

新增工程设施属性调查;

新增耕地面积测算。

由此可知,农村土地整治测绘工作的特征主要体现在信息的丰富性、成果的多样性与内容的现势性。因此,为了保证成果的准确性、查询的便利性与工作的高效率,它对资料的制作处理软件提出了更高要求。

3 ActiveX技术应用

3.1 软件应用

Autocad是功能非常强大、应用十分广泛的绘图软件,测绘成图业内首选,虽然它拥有丰富的图形实体属性且支持扩展,但数据统计分析能力是其短板。Mapinfo是最常用的GIS平台之一,我们采用它来进行面域构建、属性输入及数据统计。报表输出采用Microsoft excel。

Autocad、Mapinfo、Microsoft Excel分别在绘图、统计、制表应用上具有强大的功能,符合土地整治测绘工作对软件的要求,因三者均支持ActiveX标准并提供丰富的接口函数(Mapinfo支持OLE2.0,OLE属ActvieX的前身即引入COM的复合文档技术),我们采用Visual Basic创建一个新的应用程序,分别对其进行二次开发并整合其优势功能,实现图数的输入、处理、输出。

3.2 功能实现

采用Visual Basic编程语言完成所有代码编写,在其环境下创建新的客户应用程序,在工程中加入对Autocad、Mapinfo、Microsoft Excel服务器对象的引用,Mapinfo采用OLE的方式嵌入,图形界面显示在客户程序窗口,因Autocad强大而直观的编辑能力,故所有的编辑工作由其完成,所以Autocad与客户程序在前台运行,Mapinfo、Microsoft Excel在后台运行,由以下代码实现对象引用(须先声明APP对象):

Set autocad = GetObject(, "autocad.application")

Set mapinfo = CreateObject(, "mapinfo.application")

Set excel = CreateObject(, " excel.application")

3.2.1 Autocad、Mapinfo二次开发

Autocad的主要任务为图斑线绘制、属性赋予及修改工作。

采用ActiveDocument子对象Utility的GetEntity方法获取Autocad的polyline对象并由其Coordinates属性得到其坐标串,实现绘制图斑线的跟踪功能;通过跟踪既有多段线、自由拾取节点两种方式的综合运用,得到图斑线的坐标串,采用ActiveDocument子对象ModelSpace的AddPolyline方法生成实体并置入特定图层。除此之外,更可以利用Autocad自身强大的编辑功能对图斑线进行处理。

当图斑线绘制完成之后,将其批量读入数组,输入到Mapinfo。

调用MAPINFO对象的DO方法向服务器传送Mapbasic语句,采用Create Pline语句根据Autocad图斑线坐标绘制折线;通过RunMenuCommand方法直接调用MAPINFO的菜单功能,实现图形构面,建立图斑标识码字段并赋值后输出MID、MIF数据交换格式文件。

客户程序自动清除AUTOCAD图形文件内原有图斑线并直接读取MID、MIF属性与坐标数据文件,据其在AUTOCAD窗口生成新的图斑线并赋标识码属性,该属性既可存储在线实体扩展数据内,也可存储在线实体的其它固有属性如“厚度”中,其DXF组码为39。通过存储标识码,建立AUTOCAD线实体与MAPINFO面域的映射。权属信息、地类信息、坡度信息等均可通过映射关系,在AUTOCAD窗口赋值的同时完成MAPINFO表的数据同步更新。

根据事先建立的地类符号图块名与土地利用调查分类编码的映射表,在AUTOCAD内读取地类符号块名与插入点坐标,通过Mapbasic语句建立极小圆对象与地类号字段,采用AreaOverlap()函数在MAPINFO图斑面文件中遍历寻找该符号所在图斑并赋值,完成地类号属性的批量输入。

MAPINFO表完成属性赋值后客户程序对其备份,如果出现图斑线修改调整的情况,则仅需重复上述构面的部分操作,而属性数据将由原备份文件比对转入,仅需对发生修改的图斑进行校核。

构面工作完成之后,输出的成果为:

图斑属性表,包括权属单位、图斑号、地类号、图斑面积、田坎面积、坡度等级、中点坐标等,该表通过RunMenuCommand方法直接调用MAPINFO的菜单功能转出;

分地类DXF图斑线文件。该图形文件通过DO方法向服务器传送Mapbasic语句批量转出,以地类号为文件名。

客户程序通过读取MAPINFO输出的DXF文件,根据其文件名确定地类号,在AUTOCAD窗口内生成图案填充;通过读取图斑面属性表图斑号与中点坐标信息,自动生成图斑号注记。

3.2.2 Microsoft Excel二次开发

Microsoft Excel开发对功能的要求为将MAPINFO输出的图斑属性表按既定格式要求生成土地利用分类各种统计表格。因其一般为固定格式,则可以先建立一个通用模板,客户程序调用模板填入数据。

客户程序通过EXCEL对象的Workbooks集合实现对工作簿的访问,通过Workbook对象的子对象Sheets实现对表的访问,通过Sheets对象的cells属性实现对单元格的访问。

如下面语句指向当前打开的第一个EXCEL文件的表Sheet1的第1行第2列的单元格内容:

Excel.Workbooks(1). Sheets("Sheet1").cells(1,2)

数据处理完成之后通过Workbook对象的save与Close方法实现文件的保存与关闭。

4 结语

在农村土地整治测绘生产中灵活应用各类软件,利用其支持ActiveX标准的能力进行优化整合,既大幅提高了工作效率,更能保证数据的正确性,同时程序开发强度低、难度小、周期短,应用效果显著。值得注意的是,在开发过程中须注意增强代码的健壮性,提高代码的重用率。

参考文献:

[1] 李胜乐[等] .MapInfo地理信息系统二次开发实例.北京:电子工业出版社 2004

[2] 魏崇光等编著. AutoCAD及二次开发. 北京: 教材出版中心 2001

上一篇:探讨建筑工程施工管理过程中的相关控制 下一篇:浅析沥青混合料的永久变形