20林淑娟 实验一 简单GIS地图显示程序建立student.docx
《20林淑娟 实验一 简单GIS地图显示程序建立student.docx》由会员分享,可在线阅读,更多相关《20林淑娟 实验一 简单GIS地图显示程序建立student.docx(12页珍藏版)》请在冰豆网上搜索。
20林淑娟实验一简单GIS地图显示程序建立student
《GIS开发与应用》实验报告
实验序号:
1实验项目名称:
简单GIS地图显示程序建立
学 号
1420012120
姓 名
林淑娟
专业、班
14空间
实验地点
实7#301
指导教师
花利忠
实验时间
2016.9.8
一、实验目的
1.1.掌握建立桌面GIS应用程序框架的主要控件;
1.2.熟悉MapControl、ToolbarControl、TOCControl和LicenseControl等各个控件的属性
1.3.熟悉建立GIS地图程序的流程;
二、实验设备(环境)及要求
2.1.VisualStudio2010;
2.2.ArcGISEngineDeveloperkit9.3;
2.3.实验数据:
Shapefile数据:
中国地图.shp。
三、实验内容与步骤
3.1创建地图浏览小程序
1)新建项目
启动VS2010,选择“文件|新建|项目”,在项目类型中选择VisualC#;
选择Windows应用程序模板,输入名称“MapViewer”,然后点击浏览按钮指定一个存放工程文件的路径。
该工程会自动创建一个名称为Form1的窗体。
在窗体上点击鼠标右键选择“属性”,在右边的属性列表中找到“Text”属性,输入“MapViewer”。
窗体的标题变化为MapViewer。
图1新建项目
图2Form1窗体
2)添加控件
拖动窗体右下角,使窗体变大,点击左侧的“工具箱”.在弹出的工具箱中找到“ArcGISWindowsForms”选项卡,点击选项卡前面的加号,展开该选项卡,依次双击“ToolBarControl”、“TOCControl”、“MapControl”、“LicenseControl”。
图3工具箱
在Form1窗体界面上使用鼠标拖动各个控件。
设置ToolBarControl,TOCControl和MapControl三个控件的Dock属性。
窗体顶部是工具栏,左侧是图层列表,主工作区是地图控件。
ToolBarControl.Dock=Top,ToCControl.Dock=Left,MapControl.Dock=Fill
图4添加控件
图5控件属性
3)控件绑定
上述添加的控件只是单独存在,而程序需要各控件间协同工作,因此要进行控件绑定。
ToolbarControl和TocControl不能独立于应用程序中,必须与其他MapControl或PageLayoutControl绑定,否则无法显示图层信息。
设置:
ToolbarControl控件属性菜单:
点击General选项卡,Buddy属性为axMapControl1(工具条和图层控件与地图控件关联);右键点击TocControl,选择属性菜单。
点击General选项卡,设置Buddy属性为axMapControl1(TocControl和图层控件与地图控件关联)axToolbarControl1.SetBuddyControl(axMapControl1);
图6绑定控件
图7添加图标
4)给控件添加工具
右击ToolbarControl,选择“属性|Items”,点击Add;
选择Commands选项卡中Generic,双击Open工具将相应工具添加到工具条;
选MapInquiry和MapNavigation,添加Identify,ZoomIn,ZoomOut等工具。
图8
图9
5)许可设置
右键点击LicenseControl,点击属性菜单。
浏览弹出的对话框,其中ArcGISEngine已经选中,如果需要其它扩展模块的许可,可以在右侧选中对应的复选框,点击确定按钮。
图10许可设置
6)编译运行
3.2修改地图浏览小程序
1)选择工具箱中的“菜单和工具栏|MenuStrip”,将其拖入窗体。
图11
2)选择工具箱中的“ArcGISWindowsForms”节,将“ToolbarControl”控件拖入窗体,其Dock属性设置为Top。
图12
3)选择工具箱中的“菜单和工具栏|StatusStrip”,将其拖入窗体。
图13
4)选择工具箱中的“容器|SplitContainer”容器拖入窗体,并将其Dock属性设置为Fill。
图14
5)将TabControl控件拖入Panel1,将Alignment属性设置为Bottom,Dock属性设置为Fill。
点击TabPages属性右边的按钮,弹出TabPage集合编辑器,将tabPage1的Name设置为tabPageLayer,Text设置为图层,将tabPage2的Name设置为tabPageProperty,Text设置为属性。
如下所示。
图15
6)选择“图层”选项卡,拖入TOCControl控件,设置Dock属性为Fill。
(此时要注意控件的绑定)。
7)选择“属性”选项卡,拖入DataGridView控件,设置Dock属性为Fill。
8)拖入TabControl控件到Panel2,设置Dock属性为Fill。
并上述类似的方法,将两个选项卡的Name和Text分别设置为:
(tabPageMap、地图),(tabPageLayout,制版)。
图16
9)选择“地图”选项卡,拖入MapControl控件,设置Dock属性为Fill。
10)选择“制版”选项卡,拖入PageLayoutControl控件,设置Dock属性为Fill。
11)其他基本设置同前。
12)按F5编译运行。
四、实验结果与数据处理
4.1实验结果
(1)地图浏览小程序结果截图:
图17运行初始化图
图18加载数据
(2)地图浏览修改后结果截图:
图19修改后运行
图20成功加载数据
五、分析与讨论
通过本次实验,我学会了利用visualstudio2010和arcgisengine来创建项目,新建窗体来开发arcgis软件的初步方法。
但在实验过程中也遇到一些问题,如:
①运行时出错,
这是由于没有加入许可控件或者在program.cs文件程序的主函数中加入
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);即可。
②点击加号时,图层信息无法显示,如图21
图21
这是由于控件ToolbarControl和TocControl不能独立于应用程序中,必须与其他MapControl或PageLayoutControl绑定,否则无法显示图层信息。
六、教师评语
签名:
日期:
成绩