地理信息系统二次开发

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

课程名称:地理信息系统

设计名称:MapObjects的二次开发

院(系):海洋科学与工程学院

专业班级:100532

姓名

学号:

指导教师:

2013年1 月17 日

一、设计目的:

(1)、实习类型:课程设计;

(2)、了解VB的软硬件环境、MapObjects数据类型;

(3)、初步掌握该软件的基本操作技能;

(4)、能够熟练的操作VB6.0软件,并能应用该软件简单的与MO进行开发

(5)、掌握产品的输出设计。

(6)、培养利用GIS方法解决实际问题的能力。

二、设计主要仪器设备,器材,药品,软件等

(1)软件准备:VB6.0

(2)硬件准备:PC机500M内存,128M显卡(最低)

(3)资料准备:MapObjects控件、USA等SHP文件

三、设计原理和内容:

(1)设计题目:MapObjects的二次开发

(2)具体要求:应用VB软件与MO控件进行结合,实现MO的二次开发。

(3)功能描述:

✓MapObjects是可以允许用户向应用程序中添加地图的制图软件控件集合。

✓MapObjects 可以在多种符合工业标准的开发环境下使用,比如Visual Basic,PowerBuilder,Visual C++等。MapObjects 可以直接嵌入到这些开发环境中使用,允许用户快捷地创建应用程序。

✓MapObjects运行于Windows XP或Windows NT 4.0或更高版本。

✓MapObjects 包括一个ActiveX 控件(OCX) 也就是Map控件,还包括45个ActiveX 自动对象。可用于符合IT行业标准的Windows编程环境。

✓MapObjects主要功能:

显示一张包含多个图层的地图(道路,河流,边界)。

放大,缩小,漫游。

创建新的几何图形,如点,线,圆,多边形。

为图层添加注释。

识别地图上被选中的要素(点,线,面)。

可以通过线,矩形,多边形,圆来选择要素

可以选取距某参照物一定距离范围内的要素。

可以通过SQL语句来选择要素。

对选择的要素进行统计。

查询与更新被选择的要素的属性数据

制作专题地图。

根据字段的值标注图层要素。

显示从航片或卫星图片上获取的图像。

动态显示实时或时间系列数据。

通过输入地址在地图上定位。

将数据投影到不同的坐标系下

✓MapObjects对象模型(具体见附录)

数据通道对象组(Data Access Objects)

地图显示对象组(Map Display Objects)

几何图形对象组(Geometric Objects)

地址匹配对象组(Address Match Objects)

地理坐标对象组(Projection Objects)

四、设计步骤

1、下载MO与VB并安装,搭建开发环境

安装MO:点击Mo22Setup.exe安装Mo,在VB6.0中加载MapObjects控件:

2、系统功能设计

打开文件、图层管理、地图放缩工具、右菜单、属性表信息、图层信息、动态图层实现、分析与查询、专题制图等

3、系统界面设计

4、系统功能实现

4.1(1)对所要实现的功能进行菜单编辑,在窗体空白处点击右键,打开菜单编辑器,在菜单编辑器的标题框中输入菜单名称,名称框输中入对应的菜单名称,通过下方的方向键可以添加新菜单和二级、三级菜单,根据需要,我们设计了文件、图层、编辑和查询四个主菜单以及数个二级菜单。如下图所示:结果如下:

(2)添加图层显示窗口:在工具栏中双击Map工具,窗体中出现的一个白色图层即为图层显示窗口,根据需要调整窗口大小和位置。我们添加一大一小两个显示窗口。以同样的方法可添加用于显示图层名称的lstLayers窗口,用于显示比例尺的ScaleBar窗口以及用于显示时间的StatusBar窗口条,StatusBar工具条可右键打开属性页,在属性页

中修改相应参数。

(3)添加按钮:双击工具栏中的CommandButton工具,窗体中会出现一个按钮,调整按钮的大小和位置,并在属性表中的Caption一栏修改按钮上显示的名称,我们添加了上移、下移、置顶和删除四个按钮。如下图所示:

(4)添加工具栏:先双击工具栏中的ImageList工具,右键打开该工具的属性页,选择图像->插入图片,选择需要的图片,如下图所示:

(5)再在工具栏中双击ToolBar工具,右键打开属性页,在图像列表中选择ImageList1,再点击按钮->插入按钮,选择按钮样式和值,在图像输入框中输入之前在ImageList1中插入的图片的位所对应的数值,如图所示:

(6)添加Timer工具和CommonDialog工具,这样就可以通过相应的代码显示时间和添加文件。窗体布局如下:

4.2主要程序及操作步骤

(1)添加shape文件和栅格数据文件:添加、保存文件,添加文件并在窗体中显示图层信息:

'添加shape文件

Private Sub Add_shpFile_Click()

On Error GoTo err2

CommonDialog1.Filter = "ESRI Shapefiles (*.shp)|*.shp" '打开访问路径

CommonDialog1.InitDir = App.Path + "\data"

CommonDialog1.ShowOpen

If Len(CommonDialog1.FileName) = 0 Then Exit Sub

Dim dc As New DataConnection '返回文件名字并打开文件

dc.Database = CurDir

If Not dc.Connect Then Exit Sub

Dim name As String

name = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)

Dim gs As GeoDataset

Set gs = dc.FindGeoDataset(name)

If gs Is Nothing Then Exit Sub

Set g_layer = New MapLayer '加载图层

monDialog1.ShowColor

g_layer.Symbol.color = monDialog1.color

Set g_layer.GeoDataset = gs

yers.Add g_layer

yers.Add g_layer

yers.Add g_layer

yers.Add g_layer

Me.legend1.setMapSource Map1 '显示标签

legend1.LoadLegend True

Set Rectsel = Nothing

If dc.Connect Then '显示图层信息

相关文档
最新文档