GIS设计07122992陈玲玲.docx
- 文档编号:10484540
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:16
- 大小:1.47MB
GIS设计07122992陈玲玲.docx
《GIS设计07122992陈玲玲.docx》由会员分享,可在线阅读,更多相关《GIS设计07122992陈玲玲.docx(16页珍藏版)》请在冰点文库上搜索。
GIS设计07122992陈玲玲
成绩
中国矿业大学
2012级1班实验报告
课程名称GIS设计与开发
上机时间2015年6月18日
学生姓名陈玲玲
学号07122992
任课教师张海荣
中国矿业大学环境与测绘学院
1基于ArcObjects组件的常用GIS功能实现
【上机目的】
熟悉VisualStudio开发环境,掌握ArcGISEngine的组件式开发方式,掌握GIS基本功能的开发方法。
【上机内容】
以ArcObjectsfor.NET为开发包,用C#高级程序设计语言二次开发一个包含GIS基本操作的应用程序,实现地图文档的打开、保存、地图缩放/漫游,属性查询,空间查询,建立并访问地理空间数据库,TOC控件的右键菜单,添加shape数据,栅格数据等。
【上机要求】
1.完成代码的编写工作,通过对示例代码的学习,把这些分散的代码相互粘合起来,形成一个能实现常用GIS功能的应用程序。
学会VisualStudio2010代码常用调试方法,学会QueryInterface。
2.了解利用ComGIS进行应用型地理信息系统建设工作的基本思路。
3.独立实验,认真、按时完成实验报告。
代码编写过程中,同时思考以下问题:
(1)数据源如何被加载访问的?
ArcGIS数据组织方式?
(2)ArcGISEngine开发中所涉及的面向对象知识中诸如类,继承,对象,接口等如何表达的?
【详细步骤】
1.使用控件创建一个桌面应用程序
(1)在开始菜单中找到MicrosoftVisualStudio2010(简称VS),打开新建一个Windows窗体应用程序:
选择文件>>新建>>项目>>Windows窗体应用程序;
(2)确定之后,打开工具箱,添加TOC、Map、Toolbar控件,许可控件是首选的,否则无法使用。
拖动工具箱容器里的Panel控件至窗体(默认Name为panel1),右键属性调整Dock为Top;拖动分栏控件SplitContainer至panel1下面,调整Dock属性为Fill。
(3)拖动TOC,Toolbar,Map,License控件至窗体,调整Dock属性使得界面如下:
将引用列中的所有组建的嵌入互操作类型改为False;
(4)添加地图文档:
右击Map控件,选择属性,如图示
(5)Toolbar控件和TOC控件与Map控件的关联(设置Buddy属性)。
Toolbar控件和TOC控件需要一个伙伴控件协同工作,因此都有一个Buddy属性。
伙伴控件可以是MapControl,PageLayoutControl,SceneControl或者globeControl控件;
(6)添加工具命令:
右击Toolbar控件,选择属性>>Items选项
(7)在VS空白处右键单击在弹出菜里选择“标准”工具条,将其加载到工具栏。
点击启动调试按钮,运行应用程序,出现下列错误:
将下面的语句添加到使用AO对象的前面:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);
放在Main函数中
(8)再次运行程序,得到结果如下所示:
2.地图打开与保存
(1)从工具箱中的菜单和工具栏把MenuStrip工具条拖到panel1里,新建文件菜单,在子菜单里新建“打开mxd”项,修改属性Name为OpenMxd;
(2)在属性对话框中单击事件按钮,找到OpenMxd的Click,在蓝色区域双击,建立OpenMxd的Click事件的委托处理函数,添加如图所示代码:
(3)运行程序,查看结果,在添加代码时,错误列表若显示错误,按提示添加相关类的引用以及修改嵌入互操作类型;
(4)与打开mxd相似的,新建保存菜单,添加代码如下图所示:
(5)运行程序,结果如下:
3.缩放与漫游
(1)在菜单栏添加放大菜单,命名为ZoomIn,双击添加鼠标单击处理委托。
同理,添加缩小、漫游、全图菜单,分别命名为ZoomOut、Pan、Extent;
(2)添加axMapControl1的OnMouseDown事件处理函数;
(3)添加如下图所示代码:
(4)运行查看结果。
4.属性查询
(1)在菜单栏中添加属性查询,Name修改为AttributeQuery,双击添加Click事件处理函数AttributeQuery_Click;
(2)右击工程项目cine,添加Windows窗体,Name改为AttributeQueryResult,Text改为属性查询结果,从工具箱的Data项添加datagridview,设置Dock为Fill,在类中添加代码如下:
(3)在AttributeQuery_Click中添加代码如下:
(4)运行结果,属性表显示在弹出窗体中:
5.空间查询
(1)在菜单栏空间查询里新建点选,矩形选取等子菜单项,双击添加Click处理函数,设置flag标记当前操作;
(2)在axMapControl1_OnMouseDown里添加代码如下图所示:
(3)查看运行结果:
6.建立地理空间数据库
(1)打开ArcCatalog,在World文件夹下,新建PersonalGeodatabase,并重命名cine;
(2)右击cine,选择Import>>FeatureClass(Single),导入数据成功后,一个个人空间数据库就建好了;
(3)在工程项目中添加ESRI.ArcGIS.DataSourceGDB、ESRI.ArcGIS.Geodatabase、ESRI.ArcGIS.Display的引用;
(4)在菜单栏添加打开数据库的菜单,在Click事件处理委托函数中添加代码如下图所示:
(5)运行查看结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GIS 设计 07122992 玲玲
![提示](https://static.bingdoc.com/images/bang_tan.gif)