欢迎来到天天文库
浏览记录
ID:35201255
大小:3.04 MB
页数:31页
时间:2019-03-21
《gis设计-07122868梁莹gis实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、成绩中国矿业大学2012级1班课程实验报告考试科目GIS设计与开发考试时间2015年7月1日学生姓名梁莹学号07122868任课教师张海荣中国矿业大学环境与测绘学院2015年6月目录【上机目的】1【上机内容】1【上机要求】1【详细步骤】11使用控件创建第一个桌面应用程序12地图打开与保存33缩放与漫游94属性查询135空间查询166建立地理空间数据库197添加shape数据,栅格数据238鹰眼图26【实习总结】28基于ArcObjects组件的常用GIS功能实现【上机目的】熟悉VisualStudio开发环境,掌握ArcGISEngine的组件式开发方式,掌握GIS基本功能
2、的开发方法。【上机内容】以ArcObjectsfor.NET为开发包,用C#高级程序设计语言二次开发一个包含GIS基本操作的应用程序,实现地图文档的打开、保存、地图缩放/漫游,属性查询,空间查询,建立并访问地理空间数据库,TOC控件的右键菜单,添加shape数据,栅格数据等。【上机要求】1.完成代码的编写工作,通过对示例代码的学习,把这些分散的代码相互粘合起来,形成一个能实现常用GIS功能的应用程序。学会VisualStudio2010代码常用调试方法,学会QueryInterface。2.了解利用ComGIS进行应用型地理信息系统建设工作的基本思路。3.独立实验,认真、按
3、时完成实验报告。代码编写过程中,同时思考以下问题:(1)数据源如何被加载访问的?ArcGIS数据组织方式是怎样的?(2)ArcGISEngine开发中所涉及的面向对象知识中诸如类,继承,对象,接口等如何表达的?【详细步骤】1使用控件创建第一个桌面应用程序1.1新建项目在开始菜单中找到MicrosoftVisualStudio2010(简称VS),打开新建一个Windows窗体应用程序(文件--新建--项目--Windows窗体应用程序),见图1.1.1图1.1.1新建工程1.2添加容器和控件拖动工具箱容器里的Panel控件至窗体(默认Name为panel1),右键属性调整D
4、ock为Top;拖动分栏控件SplitContainer至panel1下面,调整Dock属性为Fill,并添加TOC,Map,Toolbar控件,见图1.2.1图1.2.1构建模块1.3添加地图文档在Map处右击,修改其属性,添加地图文档,见图1.3.1图1.3.1添加地图文档1.4运行结果经过调试,查看运行结果,见图1.4.1图1.4.1运行结果2地图打开与保存2.1添加控件(1)在MicrosoftVisualStudio2010(以下简称VS)中新建工程,设计窗体布局,添加控件:AxMapControl即Map地图控件,AxTOCControl目录控件,AxToolb
5、arControlGIS工具栏控件,见图2.1.1图2.1.1添加控件(1)关联控件,使窗体中添加的三个控件保持行为一致,即当地图发生变化的时候,其他控件相应发生改变,同时可以利用其他控件对地图进行操作,设置方法见图2.1.2图2.1.2控件关联2.2添加事件(1)从工具箱中的菜单和工具栏把MenuStrip工具条拖到panel1里,新建文件菜单,在子菜单里新建“打开mxd文档”项,修改属性Name为OpenMxd,并建立OpenMxd的Click事件的委托处理函数,见图1.2.1图2.2.1添加打开地图文档事件(1)在文件菜单的子菜单里新建“保存mxd文档”项,修改Nam
6、e为SaveMxd,并建立其Click时间的委托处理函数,见图2.2.2图2.2.2添加保存地图文档事件2.3设计代码(1)打开代码窗口,为OpenMxd_Click函数添加代码,实现其打开地图文档的功能,代码如下:privatevoidOpenMxd_Click(objectsender,EventArgse){OpenFileDialogopenFileDialog=newOpenFileDialog();openFileDialog.Title="打开mxd文档;openFileDialog.Multiselect=false;openFileDialog.Filte
7、r="*.mxd
8、*.mxd";openFileDialog.RestoreDirectory=true;if(openFileDialog.ShowDialog()==DialogResult.OK){try{IMapDocumentmapDocument=newMapDocumentClass();boolisPasswordProtected=mapDocument.get_IsPasswordProtected(openFileDialog.FileName);if(!isPasswordProtected
此文档下载收益归作者所有