20林淑娟实验一简单GIS地图显示程序建立-student详解

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

《GIS开发与应用》实验报告
实验序号: 1 实验项目名称:简单GIS地图显示程序建立学号1420012120 姓名林淑娟专业、班14空间实验地点实7#301 指导教师花利忠实验时间2016.9.8
一、实验目的
1.1. 掌握建立桌面GIS 应用程序框架的主要控件;
1.2. 熟悉MapControl、ToolbarControl、TOCControl和LicenseControl等各个控件的属性
1.3. 熟悉建立GIS地图程序的流程;
二、实验设备(环境)及要求
2.1. Visual Studio 2010 ;
2.2. ArcGIS Engine Developer kit 9.3 ;
2.3. 实验数据: Shapefile数据:中国地图.shp。

三、实验内容与步骤
3.1 创建地图浏览小程序
1)新建项目
启动VS2010,选择“文件|新建|项目”,在项目类型中选择Visual C#;
,然后点击浏览按钮指定一个存选择Windows 应用程序模板,输入名称“MapViewer”
放工程文件的路径。

该工程会自动创建一个名称为Form1的窗体。

属性,输入在窗体上点击鼠标右键选择“属性”,在右边的属性列表中找到“Text”。

窗体的标题变化为MapViewer。

“MapViewer”
图 1 新建项目
图 2 Form1窗体
2)添加控件
拖动窗体右下角,使窗体变大,点击左侧的“工具箱”. 在弹出的工具箱中找到“ArcGIS
、Windows Forms”选项卡,点击选项卡前面的加号,展开该选项卡,依次双击“ToolBarControl”
、“LicenseControl”。

、“MapControl”
“TOCControl”
图 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 工具将相应工具添加到工具条;
选Map Inquiry 和Map Navigation,添加Identify,Zoom In,Zoom Out 等工具。

图8
图9
5)许可设置
右键点击LicenseControl,点击属性菜单。

浏览弹出的对话框,其中ArcGIS Engine 已经选中,如果需要其它扩展模块的许可,可以在右侧选中对应的复选框,点击确定按钮。

图10 许可设置
6)编译运行
3.2 修改地图浏览小程序
1)选择工具箱中的“菜单和工具栏|MenuStrip”
,将其拖入窗体。

图11
2)选择工具箱中的“ArcGIS Windows Forms”
控件拖入窗体,其Dock
节,将“ToolbarControl”
属性设置为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 成功加载数据
五、分析与讨论
通过本次实验,我学会了利用visual studio 2010和arcgis engine 来创建项目,新建窗体来开发arcgis软件的初步方法。

但在实验过程中也遇到一些问题,如:①运行时出错,
这是由于没有加入许可控件或者在program.cs文件程序的主函数中加入
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);即可。

②点击加号时,图层信息无法显示,如图21
图21
这是由于控件ToolbarControl 和TocControl不能独立于应用程序中,必须与其他MapControl或PageLayoutControl绑定,否则无法显示图层信息。

六、教师评语
成绩
签名:
日期:。

相关文档
最新文档