程序设计实验报告

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

南阳师范学院

本科学生实验报告

姓名孔亚洲院(系)环境科学与旅游学院专业GIS 班级09级 3班

实验课程名称 GIS应用软件开发

指导教师及职称张海军讲师

开课时间2011至2012学年第一学期南阳师范学院教务处编印

实验名称目录

实验一:ArcObjects中的对象和类

实验二:添加一个新工具

实验三:表的添加(AddTable)

实验四:要素类的添加(AddFeatureClasses)实验五:

实验六:

实验七:

实验八:

实验九:

实验十:

学生姓名:孔亚洲专业:地理信息系统班级: 09级3班

课程名称:GIS 应用软件开发实验名称:ArcObjects中的

类和对象

实验编号: 1

指导教师:张海军实验地点:N605实验时间:2011.10.3

小组合作:是()

否(√)

小组成员:

实验目的:通过本次实验,使大家Arcobjects中的入门知识,及一些概念

实验设备:

计算机

带有VBA的ArcGIS软件

实验内容及步骤:

AO包括对象和类。对象表达诸如道路、植被这样的空间要素。GDB中,一个对象对应着表中的一行,表中的列是对象的属性。类是具有类似属性的对象的集合。一个AO类可能具有内置的接口、属性和方法。

AO包括三种类型的类:

1)CoClass:最常用类型的类。在开发中,CoClass能使用对象声明语法直接创建新对象。例如:FeatureClass是一个CoClass,FeatureClass类允许创建一个新要素类对象作为FeatureClass这个CoClass的实例。VB或VBA中,Dim pFeatureClass as new FeatureClass。

2)abstract class:抽象类不能用于创建新对象,抽象类是子类的说明,即抽象类的存在使得其他类(即,抽象类的子类)能使用或共享该抽象类支持的属性和方法。例如:GeoDataset是一个抽象类,GeoDataset的存在使得地理数据集(如FeatureClass和Raster dataset)能共享GeoDataset这个抽象类支持的Extent和Spatial reference属性。

3)Class:Class不能直接创建新对象,但可以作为其他Class的一个属性创建一个Class的对象,或者从其他class的对象实例化。如Workspace是一个Class

Dim pWorkspaceFactory As IWorkspaceFactory

Set pWorkspaceFactory = New AccessWorkspaceFactory

Dim pWorkspace As Iworkspace

Set pWorkspace = pWorkspaceFactory.OpenFromFile("D:\Arc\myData", 0) 实验小结:

本次实验使大家了解了Arcobjects中的一些入门知识,及“类”“对象”等一些概念,使大家对Arcobjects有了初步的了解

指导教师评语及成绩:

学生姓名:孔亚洲专业:地理信息系统班级:09级3班

课程名称:GIS应用软件开发

实验名称:添加一个新

工具

实验编号:2

指导教师:张海军实验地点:N605实验时间:2011.11.7

小组合作:是()

否(√)

小组成员:

实验目的:

通过本次实验,使大家初步练习编写基于AO的Arcobjects小程序

实验设备:

计算机

带有VBA的ArcGIS软件

实验内容和步骤:

点击一个按钮执行一个任务。而工具在它完成一个任务之前,首先需要用户做一些事儿。与用户交互意味着工具比按钮需要考虑更多的事件和更多的编码。与工具关联的事件包括:Select、DblClick、MouseDown、MouseUp和MouseMove。程序如下:

Private Sub UIToolQuery_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)

' Part 1: 获取用户点击的点

Dim pMxDoc As IMxDocument

Dim pActiveView As IActiveView

Dim m_blnMouseDown As Boolean

Dim pPoint As IPoint '提供了定义二维点的成员的访问

Set pMxDoc = ThisDocument

Set pActiveView = pMxDoc.FocusMap

'把用户在数据视图下输入的点从显示坐标转到地图坐标

Set pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y) '每个视图有一个ScreenDisplay对象控制着应用窗口的绘制

'使用ScreenDisplay属性获得关联于当前工作视图的ScreenDisplay对象的参考

'如,为了在数据视图中绘制一个多边形,必须获得IActiveView参考focus Map对象 '然后经由ScreenDisplay属性获得其ScreenDisplay对象的参考

'若在数据视图中错误地获得了IActiveView参考PageLayout对象,将看不到多边形,因你在错误的视图中绘制

'每个显示对象(如ScreenDisplay)管理一个(CoCreates)DisplayTransformation对

相关文档
最新文档