地图基本功能的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学
学生实验报告
实验课程名称地理信息系统软件二次开发开课实验室空间数据处理实验室
学院河海学院年级2008 专业班 1 学生姓名学号08260117 开课时间2011 至2012 学年第 1 学期
目录
实验二地图基本功能的实现 (3)
一、实验内容 (3)
二、实验要求 (3)
三、实验步骤 (3)
1、系统基本界面的设置; (3)
2、打开*.shp格式的文件 (4)
3、地图的放大功能 (7)
4、地图的所缩小功能 (9)
5、地图的漫游功能 (11)
6、地图的全视功能 (13)
7、菜单栏与快捷键的一一对应 (14)
四、实验成果 (16)
五、实验心得 (16)
实验二地图基本功能的实现
一、实验内容
1、学习菜单中事件的编辑;
2、学习Toolbar中添加的快捷键图标与菜单中的对应操作;
3、学习GIS应用系统的基本界面操作。
二、实验要求
1、实现系统只打开*.shp格式文件的功能;、
2、实现地图的放大功能;
3、实现地图的缩小功能;
4、实现地图的漫游功能;
5、实现地图的全视功能;
6、实现菜单栏与快捷键的一一对应功能。
三、实验步骤
1、系统基本界面的设置;
修改工程名,修改窗体名,设置窗体图标,编辑菜单,编辑快捷键图标,添加内容窗口,设置鹰眼窗口,添加基本地图窗口,在代码窗口中进行基本界面的设置,代码为:
Private Sub Form_Load()
boo = False
FrmMain.WindowState = 2
Map1.Width = Screen.Width - 3400
Map1.Height = Screen.Height - 2000
'调整MAP的界面
layercontrol.Width = Screen.Width - 17300 Map2.Width = Screen.Width - 17300 layercontrol.Height = Screen.Height - 6000 Map2.Height = Screen.Height - 8000
'调整内容窗口和鹰眼窗口的界面
End Sub
运行结果后,系统基本界面如图2-1
图2-1 2、打开*.shp格式的文件
点击窗体中“文件-打开”,如图2-1,
图2-1
进入代码窗口,设置如下代码:
Private Sub MnuFileOpen_Click(Index As Integer)
'添加文件
Dim dconn As New MapObjects2.DataConnection
Dim shplayer As New MapObjects2.MapLayer
CommonDialog1.Filter = "ESRI Shapefiles(*.shp)|*.shp" '设置虑通器,只打开*.shp 格式的文件
CommonDialog1.ShowOpen
If Len(CommonDialog1.FileName) = 0 Then Exit Sub
dconn.Database = CurDir
If Not dconn.Connect Then Exit Sub
FileName = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle)) '为什么此处不减四
dconn.Connect
Set shplayer.GeoDataset = dconn.FindGeoDataset(FileName) '此处不加引号且不能添加固定文件
yers.Add shplayer
End Sub
运行过程见图2-2,图2-3,图2-4
图2-2
图2-3
图2-4
此图为吉林省行政区划图。
3、地图的放大功能
点击窗体中视图菜单中的“放大”选项,如图2-5,
图2-5
进入代码窗口,输入代码:
Private Sub MnuViewZoomIn_Click()
Dim r As MapObjects2.Rectangle
Set r = Map1.Extent
r.ScaleRectangle 0.5 ' 大于1就是缩小
Map1.Extent = r
boo = True
End Sub
实现地图的放大功能,运行过程,见图2-6图2-7;
图2-5(图像原始大小)
图2-6(图像放大)
经操作后可以看出,此放大功能只能进行固定倍数的放大。
4、地图的所缩小功能
点击窗体中视图菜单中的缩小选项,如图2-7
图2-7
进如代码窗口,输入代码:
Private Sub MnuViewZoomOut_Click()
Dim r As MapObjects2.Rectangle
Set r = Map1.Extent
r.ScaleRectangle 1.5
Map1.Extent = r
End Sub
运行结果如图2-8(图像原始大小),图2-9(图像放大),图2-10(图像缩小),