地理信息系统集成与开发课程设计Word文件下载.doc
《地理信息系统集成与开发课程设计Word文件下载.doc》由会员分享,可在线阅读,更多相关《地理信息系统集成与开发课程设计Word文件下载.doc(14页珍藏版)》请在冰豆网上搜索。
![地理信息系统集成与开发课程设计Word文件下载.doc](https://file1.bdocx.com/fileroot1/2022-10/19/181c3053-3ef5-4522-81a4-ff4bfec7234a/181c3053-3ef5-4522-81a4-ff4bfec7234a1.gif)
要求独立完成所有实验内容,并提交纸质实验报告。
报告撰写:
一、实验目的
二、实验内容
三、实验步骤:
每一步骤的代码或加载控件、窗体等过程的截图(备注:
实验步骤实际上与实验内容相对应,不过要求更详细同时配有相应的代码、控件加载等的截图)
四、实验结果:
成个程序设计实现完成后的运行结果截图
五、存在问题
六、认识总结
实验一
ArcEngine控件及核心类库的认识及Mapcontrol控件的使用和地图的显示与地图缩放以及TOCcontrol、toolbarcontrol控件使用
本实验包括六部分内容:
1、ArcEngine安装;
2、ArcEngine认识;
3、常用类库;
4、Mapcontrol控件使用、地图的显示和地图缩放;
5、TOCcontrol认识;
6、Toolbarcontrol认识
一、实验目的与要求:
ArcEngine(简称AE)是ArcGIS9新的开发产品,是从核心的ArcObjects(AO)组件构建。
ArcEngine是开发人员用于建立自定义应用程序的GIS组件的一个完整类库。
可以创建独立应用或者集成到第三方系统。
因其具有强大的功能和良好的封装性,备受GIS集成和开发人员的青睐。
本次实验旨在使学生学会安装ArcEngine,熟悉ArcEngine的几个常用类库和地图控件及其使用方法,理解各个类库的对象模型图,模型图中的类,接口,方法,属性的表示方法。
并掌握如何通过联机帮助快速了解各接口的功能和使用方法。
二、实验内容:
【每一步的截图及代码】
1、开发环境部署。
在开发ArcEngine程序之前,需要首先部署完成开发环境。
本课程选择C#语言为例,C#的集成开发环境选择VisualStudio2005/2008/2012,对ArcEngine开发环境的搭建需要遵循下面的步骤顺序进行:
安装VisualStudio2005/2008/2012
安装ArcGISEngineRuntime
安装ArcEngineDeveloperKit
安装授权文件
【安装过程截图等】
2、ESRICONTROLS类库及Mapcontrol控件认识
(1)Control类库包含MapControl,PageLayoutControl,TOCControl,ToolbarControl,GlobeControl,SceneControl,LicenseControl,SymbologyControl等
(2)常用的类库包括:
SystemUILibrary;
SystemLibrary;
CartoLibrary;
ControlsLibrary;
DisplayLibrary;
GeoDatabaseLibrary;
GeometryLibrary。
通过联机帮助,了解每个类库的概况
1)打开类库参考,查看对象模型图
启动ENGINE帮助,打开ArcObjectslibraryreference\esriControls打开对象模型图
【截图】OMD
【截图】OMDclassdiagramkey
2)从图中认识对象模型图中的三个类:
抽象类,组件类,普通类。
(从矩形框的形状识别)。
3)从对象模型图中,学习mapcontrol控件的接口及接口支持的方法。
【截图】OMD中的Mapcontrol组件类
4)Mapcontrol控件的使用(C#环境)
a)运行VS2005,启动VS2005集成开发环境。
b)新建一个ARCENGINE项目,如图所示,并命名为”第一个AE+C#程序”。
c)双击解决方案中的MainForm.cs
d)查看设计界面
e)查看运行效果
f)返回设计状态,在axTOCControl1控件上右击,选择属性(页)。
查看其与
axMapControl1控件的绑定情况
g)点击解决方案中的“查看代码”,了解命名空间的使用
h)查看代码中的using:
(使用命名空间)。
偿试把其中的usingESRI.ArcGIS.Carto;
注释掉(如下图注释情况)。
然后运行,查看结果。
i)使用类库定位工具,定位该接口所在的类库。
j)将工具条控件与地图控件绑定,并为工具条控件添加更多的按钮
5)运行,并加载数据,查看运行结果。
三、实验步骤
四、实验结果
实验二
C#+ArcEngine程序设计入门:
地图浏览与图层控制
电子地图的加载、缩放和漫游等浏览功能是空间数据可视化最基本的要求。
本次实验通过指导学生如何编写代码与MapControl控件交互实现基本的地图浏览功能。
实现方式有两种:
1.使用ESRI提供的封装好的现成组件类,编写简单的代码即可;
2.自己写代码实现;
需要理解地图浏览的编程思路。
通过两种实现方式,进一步了解Map控件的使用方法和组件式GIS集成与开发的思路和流程。
1)启动VS2005集成开发环境,新建一个VC#项目:
Windows就应用程序。
2)在窗体上依次添加:
工具栏控件(toolStrip1)、分栏容器控件(splitContainer1)、内容表控件(axTOCControl1)、地图控件(pControl1)、开发许可控件(axLicenseControl1)。
3)设置内容表控件和地图控件的DOCK属性为FILL,以充满整个区域。
4)为工具栏控件添加7个按钮(BUTTON),依次将其文本改为:
加载数据,放大,缩小,漫游,全图,缩小,放大,并设置相应图标。
将其NAME属性改为:
CmdZoomIn,CmdZoonOut,ToolPan,CmdFullextent,ToolZoomOut,ToolZoomIn
5)设计过程中的界面依次如下:
6)工具栏按钮包括:
CommandButtonandToolButton。
7)在FORM1窗体类中,添加一个方法EjectAllButton,用于维护ToolButton按钮的弹起状态。
代码如下:
8)将三个工具按钮的checkonclick属性改为:
True。
9)在三个工具按钮的Click事件中,调用方法:
EjectAllButton,并将三个工具按钮的clicked属性设置为TRUE。
10)在按钮的点击事件和地图的鼠标按下事件中添加代码,实现对应功能。
11)运行结果
注意事项:
1)此程序涉及到命名按钮和工具按钮。
它们执行功能的方式不同,编写代码时,要注意。
命令按钮执行功能是立即执行,所以代码写在其click事件中。
工具按钮执行功能分两步,所以它对应的功能代码分别写在按钮的click事件中和地图控件的mousedown事件中。
2)区别缩放功能哪些是调用封装好的类哪些是自己编写的代码。
3)在该小程序中,使用到Ienvelope,Icommand,CurrentTool,必须引用它们所在的类库。
4)关于EjectAllButton方法,功能是在点击一个按钮时,把其它的按钮弹起。
实验三
C#+ArcEngine程序设计入门:
地图绘图
地图绘图是GIS基本功能。
本次实验通过指导学生如何编写代码实现在MapControl控件绘图的功能。
此绘图功能只是在地图控件上把图形绘出来,并不保存,随着地图的刷新而消失。
如果要所绘图形在地图上不原地图刷新而消失,可以使用addelement方法,把所绘图形作为一个元素而显示在地图上。
本实验主要使用特定的符号,绘制点、线、面图形。
关于图形的符号修改,请参见图形可视化实验。
要求:
独立完成实验,手动键入代码,积极思考。
理解引入枚举变量的作用,理解switch方法的使用。
1)打开实验二的VC#项目。
在其基础上,为工具栏再添加绘图按钮,实现绘图功能。
2)在原有工具栏基础上,为工具栏控件再添加3个按钮(BUTTON),依次将其文本属性改为:
绘点、绘线、绘面。
并设置相应图标。
ToolDrawPoint,ToolDrawLine,ToolDrawPolygon。
3)设计的界面如下:
4)更新FORM1窗体类中的方法EjectAllButton,用于维护新添加的ToolButton按钮的弹起状态。
5)将新增的三个工具按钮的checkonclick属性改为:
6)在新增的三个工具按钮的Click事件中,调用方法:
EjectAllButton,并写代码将新增三个工具按钮的clicked属性设置为TRUE。
如:
7)在命名空间中,定义一个枚举变量类型(对比:
整型INT是系统定义的),如下:
8)在FORM1类中,使用前面定义的枚举类型,定义一个枚举类型的变量:
Dbutton,代
码如下:
9)在工具按钮的click事件中,使用枚举变量记录,按下了哪一个按钮。
10)为窗体类编写一个绘图方法,以供调用。
11)在地图的mousedown事件中编写代码,调用绘图方法,实现绘图功能,代码如下图
12)运行,查看绘图效果,如下图
1)首先理解为什么要使用枚举变量,如何定义枚举类型
2)理解工具按键实现其功能的代码分布在于按钮点击事件和地图的mousedown事件两处。
理解它们如何协调工作。
3)掌握为类添加方法的步骤。
4)理解VC#的事件响应机制。
实验四
地图查询与地图要素选择
一、实验目的:
地图查询是GIS基本功能,几乎任何一个GIS系统都具有查询功能。
而地图要素的选择是执行其它操作的前提,所以要素选择功能也是基本功能。
本次实验通过指导学生如何编写代码实现基于MapControl控件的地图查询功能和要素选择功能。
本实验以矩形拉框选择和点击选择为例,同学们可以自己动手实现其他查询方法。
本实验主要使用了ISelectionSet接口的Search方法、IFeatureSelection接口的SelectFeatures方法以及IMAP接口的SelectByShape方法。
本实验编写了获得颜色方法:
GetColor方法,获得符号方法:
GetSymbol方法以及选择要素方法:
select_features_on_map。
属性查询也是GIS的基本功能,同学们可以模仿ARCMAP中的属性查询,本实验中给出了窗体