GIS二次开发程序设计

发布时间 : 星期四 文章GIS二次开发程序设计更新完毕开始阅读

'第二步,定义一个新的MO对象组的MapLayer对象 Dim shpLayer As New MapObjects2.MapLayer Dim filename As String

'''第三步,设置DataConnection对象的方法Connection连接到指定的存放数据的地方

''dConn.Database = \ '''第三步,利用DataConnection对象的方法Connect进行数据连接 ''dConn.Connect

'''第四步,将MapLayer对象的GeoDataset属性设置为DataConnection对象的FindGeoDataset方法(用Shape 文件名作参数)的返回值。

''Set shpLayer.GeoDataset = dConn.FindGeoDataset(\

'''第五步,用地图控件Layers对象的方法Add向地图控件中添加Shape图层 ''Map1.Layers.Add shpLayer '设置对话框过滤器

Form1.CommonDialog1.Filter = \文件(*.shp)|*.shp\ '对话框显示为打开类型的对话框 Form1.CommonDialog1.ShowOpen

'如果打开文件名的长度为0,则终止这个过程

If Len(Form1.CommonDialog1.filename) = 0 Then Exit Sub '设置DataConnection对象的方法Connection连接到当前目录 dConn.Database = CurDir 'App.path If Not dConn.Connect Then Exit Sub 'MsgBox dConn.Connect '得到从对话框返回的文件名 filename = Left(Form1.CommonDialog1.FileTitle, Len(Form1.CommonDialog1.FileTitle) - 4) '设置图层的数据集

'Set shpLayer.GeoDataset = dConn.FindGeoDataset(FileName) Set shpLayer.GeoDataset = dConn.FindGeoDataset(filename) '增加新图层

Form1.Map1.Layers.Add shpLayer End Sub

得到结果如图:

四、实验总结

4.1、实验中遇到的困难

实验中有时操作不当时会加载不了图层。还有在菜单编辑中,由于没在窗体加入对话框,在程序运行的时候就出错。

4.2、处理方法和技巧

仔细寻找出错的原因,并解决问题。程序不能出错,一旦出错就得不到结果。我们还可以采取一些我们喜欢的而方法,对图层进行设置。比如我们可以进行一些操作,是所加载的图层颜色唯一。

4.3、经验体会和收获

经过这次实习,我学会了不少东西,比如熟悉Map Object中commondialog

控件的调用方法。同时也掌握了在Visual Basic中利用Map Object二次开发软件实现command控件、菜单、类模块和toolbar加载Shape图层的操作。

通过对各种打开程序代码的学习,我基本能够自己读懂字里行间的意思,并能对程序代码进行操作,实现打开图层的功能。

在实验中会遇到一些意象不到的困难,有时候甚至根本不知道哪里出错,只能反反复复查看,试运行,知道找出错误并修正它,使工作量大大增加,只有肯多花时间在上面,才能很好地完成任务。

实验三 放大、缩小、平移和全视图

一、实验目的和要求

学会在菜单、toolbar中添加相应的程序代码实现所加载图层的放大、缩小、平移以及全视图操作。

二、实验内容

1、用程序代码实现图层的放大操作功能。 2、用程序代码实现图层的缩小操作功能。 3、用程序代码实现图层的平移操作功能。 4、用程序代码实现图层的全视图操作功能。

三、实验步骤

1、实现图层的放大功能代码:

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If i = 1 Then

Set Map1.Extent = Map1.TrackRectangle End If End Sub

Private Sub fangda_Click() bZoomOrPan = True '标志放大状态 i = 1

'设置鼠标指针

Map1.MousePointer = moZoomIn End Sub

结果如图所示:

联系合同范文客服:xxxxx#qq.com(#替换为@)