APP下载

校园地理信息系统编辑功能的实现

2014-03-04李强龙

中国科技纵横 2014年20期
关键词:下拉菜单线状图层

李强龙

(沈阳龙天测绘科技有限公司,辽宁沈阳 110000)

校园地理信息系统编辑功能的实现

李强龙

(沈阳龙天测绘科技有限公司,辽宁沈阳 110000)

本次设计的地理信息系统具备了一些地理信息系统的基本功能。从数据库的建立到系统的统计,地图的编辑,系统的帮助。程序编写过程中涉及到数据库的建立,数据的读写,ADO,MapBasic语言,VB与MapBasic的集成开发,本软件能帮助用户实现一些初步的功能。

地理信息系统 二次开发 地图编辑 集成开发 OLE

1 概述

这个地理信息系统虽然规模很小,但它具备了一些地理信息系统的基本功能,从数据库的建立到系统的统计,地图的编辑,系统的帮助。程序编写过程中涉及到数据库的建立,数据的读写,ADO,MapBasic语言,VB与MapBasic的集成开发。本软件能帮助用户实现一些初步的功能,软件中没有查讯分析功能,限制了用户实现一些高级GIS功能,这是本软件的缺憾之一。由于时间有限,可能已有功能有些地方还不是非常完善,但大体框架功能都能实现。

2 功能介绍

(1)在进行系统的各个功能操作前,需要先打开一个可编辑的地图窗口。从数据库下拉菜单中选择所有图层,把从外业测量的地图转换成MapInfo可识别的文件。然后在文件下拉菜单中选择打开工作空间,选择刚才转换过的地图,便打开了一个操作窗口。

(2)统计功能主要是对采集的校园的地理信息数据进行分析、汇总,然后将统计出来的数据以图形或图表的显示给用户程序。一、计算统计值;在“统计”菜单中选择“计算统计值”菜单项,就会弹出“计算列统计值”对话框。选择你所要统计的表,和表中的列,单击“确定”,就可以计算出一些相关的数值。这些数值以信息框的形式显示出来。包括:表名、列名、记数、最大值、最小值、范围、总和、平均值、方差和标准差一系列统计值。二、统计各图层信息;在统计菜单中,选择第一项“统计各图层信息…”一项,就会弹出如上图所示的对话框。选择你所要统计的图层和其拥有的数字字段。然后单击“确定”就可以显示对应的统计图。三、统计面积;当选择“统计”菜单项的“统计面积”一项时,会弹出“选择图层”窗体。然后,按照窗体上的要求,选择要统计面积的图层,再单击“确定”,这样就可以弹出“统计面积信息”的窗口。如下图所示,系统会以统计图的形式统计出各个图层地物的面积信息。四、显示统计窗口;先在地图窗口中,选择要统计的地物,然后在“统计”菜单中,选择“选择统计窗口”项,就会弹出信息窗口,来显示统计出来的信息。支持多选,单只能选择同一图层的多个地物,只能统计这些地物数字方面的信息。显示出来的信息窗口。

(3)地图的编辑功能主要是实现块状地物的合并,线状地物的去除多余线段和延长功能。一、合并功能;首先在地图上选择一个块状地物,点击,然后在编辑下拉菜单中选择设置目标,被选地物出现红色被选标记,接着再点击另一个要合并的块状地物,选择编辑下拉菜单中的合并功能即可。二、去除多余线段;首先在地图上选择一条要去除多余线段的线状地物,然后在编辑下拉菜单中选择设置目标,被选地物出现红色被选标记,接着再点击另一个与其相交的线状地物,选择编辑下拉菜单中的去除多余线段功能,然后用”delete”键手动清除多余地物。三、延长功能;首先在编辑菜单中选择延长线段功能,系统会自动弹出一个对话框,提示你在要延长的线段上点击两点,然后再要延长相交的线段上点击两点,点击确定按钮,系统自动完成线段的延长功能。

(4)帮助文档:帮助文档里主要是系统介绍和系统的一些操作步骤,可以让初次接触软件的人员快速掌握系统的特点和懂得如何操作。

3 校园地理信息系统编辑功能的实现

3.1 编辑功能介绍

地图编辑功能是GIS的一个主要功能。通过地图编辑可以对地物进行修改并为分析地物做好准备。这次做的编辑功能主要是对面,直线和折线,由于点的操作很简单,这次并没有涉及到这方面的编程。对面实现的是合并功能,把两个邻近的面状地物合为一个。对线状地物实现的是延长和去除多余线段的操作。由于线状地物分为直线和折线两种,所以在编程时要考虑到这两种线状地物的不同特点,分别对待。下面我将详细介绍如何实现以上这些功能。

3.2 编程思路

MapInfo的地图修改功能与其它GIS软件相比是其一个比较薄弱的环节,它仅提供了一些基本的图形操作功能。这次设计在其原有的基础上增加了几个功能,并编了底层的操作程序。由于MapInfo自带的二次开发语言提供了一些地图修改语句和函数,所以在编程时有些功能可以直接调用,这样加快了开发的速度。地物的合并和多余线段去除这两个功能可以在MapInfo中直接找到,通过调用语句MapInfo.do便可以实现这两个功能。线段延长功能在MapInfo中没有直接的函数可以利用,这样就必须通过MapBasic中已有的函数自行开发。在MapBasic中折线和直线是严格分开的,各自都有自己的函数和语句,没有通用的函数和语句能同时作用于两种线状地物。于是在编制线段延长功能时需要分开考虑,然后合在一起。

3.3 具体功能编程过程-延长线段

由于在MapInfo的以及其二次开发语言中没有延长线段这个功能,所以这部分功能必须从底层做起。我考虑到直线和折线的区别,决定分别实现这两个功能。为了界面上的一致性,我决定对两种线状地物都采用一种算法。两点形成一条直线是最简单也最快捷的算法。

4 结语

具体的程序开发是以MapInfo为地图的操作后台,以MapBasic为主要的编辑开发语言,与VB进行二次集成开发。但由于MapInfo的地图编辑功能不是非常强大,所以有些编辑功能要进行底层的开发。但MapInfo的地图修改功能与其它GIS软件相比是其一个比较薄弱的环节,它仅提供了一些基本的图形操作功能。这次设计在其原有的基础上增加了几个功能,并编了底层的操作程序。由于MapInfo自带的二次开发语言提供了一些地图修改语句和函数,所以在编程时有些功能可以直接调用,这样加快了开发的速度。地物的合并和多余线段去除这两个功能可以在MapInfo中直接找到,通过调用语句MapInfo.do便可以实现这两个功能。线段延长功能在MapInfo中没有直接的函数可以利用,于是我利用MapBasic中已有的函数和语句自己进行了一些底层的开发,开发后的程序能够满足功能要求。

[1]陈述鹏.地理信息系统导论[M].北京:科学出版社,2001.

[2]龚健雅编著.地理信息系统基础[M].北京:科学出版社,2001.

猜你喜欢

下拉菜单线状图层
无取向硅钢边部线状缺陷分析及改进措施
巧做智能下拉菜单
热轧卷板边部线状缺陷分析与措施
制作更炫酷的下拉菜单
巧用混合图层 制作抽象动感森林
将Widget小部件放到
线状生命
图层法在地理区域图读图中的应用
线状α=MnO2的水热制备及其电容性能
浅析“递层优化法”在矿井制图中的应用