GIS名词解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、名词解释:
事件过程:有一个相关联的对象,当相应的事件发生时运行代码。
子过程:没有相关联的对象,必须被调用才能运行,无返回值
函数(FUNCTIONS):没有相关联的对象,必须被调用才能运行,有返回值
过程级变量:只在申明变量的过程中可见。
模块级变量:在所申明的模块中有效。
公有级变量:在项目的所有模块中均有效。
类:是一个蓝本或模板,它定义了由其生成的对象所具有的属性和方法。
对象:是由类创建的具体事物。
类库:是包含多和类的单个文件。
COM:组件对象模型,是用来连接软件组件或模块的一个协议,
COM类:用接口来组织属性与方法,一个COM类会有很多接口。
接口:接口是定义方法和属性的一个逻辑组
查询接口:当对一个类进行实例化时,你只能使用一个接口,但实例化后,你就可查询任何其它的接口。
在同一个对象上使用附加的接口。
多态性:类可以提供具有不同执行的相同接口。
抽象类:是用来组织特定的子类,不可创建和实化成对象,无实际对象。
CoClass :Creatable Class 可创建类,可由NEW关键字实例化的一种类。
枚举:是在一个对象中包含的对象包,有一个简单接口,该接口有2个方法:Next:引用枚举中的下一项;Reset:将指针移回枚举的顶端。
Map:是图层的集合。
要素层:是一种FeatureClass类型的数据集。
FeatureClass:是具有简单要素类型(点、线、多边形)、普通属性集和普通空间参考的数据集。
Workspace:是一个包含数据的文件夹
ArcInfo Workspace:一个包含coverage和INFO子目录的目录。
Shapefile Workspace:包含Shapefiles的目录。
Access Workspace:包含表和要素数据集的个人geodatabase.
SDE Workspace包含表、要素数据集和层的ArcSDE实例。
Raster Workspace:包含格网和图像。
TIN Workspace:包含TINs
要素数据集(FeatureDatasets):是要素类的集合。
要素类(FeatureClasse):是要素的集合,包含了相同的要素类型(所有的点、线或多边形)、相同的属性集合和相同的空间参考。
Fields:是Field的集合,是可创建类,可用New关键字创建。
Field是可创建类,可用New关键字创建。
简单专题图着色器(SimpleRenderer):所有要素都用相同的符号和颜色显示。
单值专题图着色器UniqueValueRenderer:图层的每个不同值的属性用不同的符号显示。
分类专题图着色器ClassBreaksRenderer:根据数字字段的值分组,每一个分组使用一个符号显示
点密度图制作器(DotDensityRenderer):在多边形要素层上使用随机打点的方式作图,点的密度代表数值大小。
二、填空
要使用ArcInfo coverages,就要用ArcInfo WorkspaceFactory来创建Workspace;
要使用Shapefiles,就要用ShapefileWorkspaceFactory来创建Workspace;
要使用个人geodatabase,就要用AccessWorkspaceFactory来创建Workspace;
要使用ArcSDE实例,就要用SDEWorkspaceFactory来创建Workspace;
要使用格网和图像,就要用RasterWorkspaceFactory来创建Workspace;
要使用TINs,就要用TINWorkspaceFactory来创建Workspace;
打开一个存在的Workspace的方法有:OpenFromFile:打开本地机器上不需要连接的文件夹或个人geodatabase的情况下打开Workspace;Open:在需要连接如ArcSDE数据集的情况下打开Workspace。
使用Workspace类上IFeatureWorkspace接口的OpenFeatureClass方法可以获取直接存储于中的要素类。
使用要素集对象的IFeatureClassContainer接口的ClassByName、ClassByID或Class(index)等属性就可获取要素类。
一旦参考了一个Workspace对象(新的或存在的),就可以其IFeatureWorkspace接口的方法(CreatFeatureClass, CreatFeatureDataset,CreatRelationshipClass,CreatTable)在Workspace中创建新的数据集。
Field是可创建类,可用New关键字创建。
在创建新的FeatureClass或Table前,需要为新的数据集生成字段集合。
FeatureClass或Table都有Fields属性,可用于返回数据集相关的Fields对象,从该对象可根据索引位置获取每个Field对象。
IFieldsEdit的方法有AddField:为字段集加入字段;DeleteAllFields删除字段集中的所有字段; DeleteField(index)通过索引删除指定的字段
单个coverage可能包含多种要素类型(如Polygons,Lines,Lable,Points 和Tics),每一种都是要素类。
通过用Table创建Row,就可保证Row生成于Table之内。
Row类的Irow接口下有V alue属性,该属性可读写,要使用Value属性,你得指定所要为其提供值的字段的索引位置。
请在图中标出Project Explorer,Projects,Code Modules和Procedures
请说明以上图标的含义
三、判断题(10分,每个2分)
Shapefile本身就是要素类,不能包含其它的要素类型。
可通过定义在Ifeature接口下的Shape属性直接获取Feature的几何形体。
点是所有几何形体的基础,它可用来建立其它的几何形体如线和多边形,任何几何体都能直接从点集合生成。
每个几何体都有一个封装边界,它是要素的最小包围边界。
ITopologicalOperator接口被point,multipoint, ployline, polygon等类所支持。
IRelationalOperator接口被point,multipoint, ployline, polygon等类所支持外,还被Envelope 类支持。
IProximityOperator接口被point,multipoint, ployline, polygon,Envelope等类所支持外,还被Line类支持。
SelectionSet是不可创建类,只能从其它类中得到。
使用SelectionSet类可以从一个Table或FeatureClass中得到一个当前选择集(selected table rows or features)。
QueryFilter 及其子类SpatialFilter是可创建类,可用New关键字创建。
Cursor类(包括其子类FeatureCursor)便于你在一个对象中可以管理许多记录。
每个要素层都有一个相关的特征着色器对象,用于空件图层的显示,包括分类和每类显示的符号和颜色。
四、简答题
1、几何形体空间操作接口有哪些?
ITopologicalOperator(空间操作),IProximityOperator(测量),IRelationalOperator(检查)2、几何形体空间操作接口可以做哪些工作?
测量要素间的距离,评价空间关系,基于现存要素的空间关系生成新的几何形体,基于空间准则查询要素。
3、要测量两几何体间的距离,请问用何接口何方法?
3、要为一个何体间建缓冲区,请问用何接口何方法?
4、要判断两个几何体间是否存在包含关系,请问用何接口何方法?
5、Cursor 有哪三种类型,分别由哪三种方法所生成?
6、举例说明如何访问Cursor中的每一个记录?
Dim pFeature As IFeature
Set pFeature = pFCursor.NextFeature
Do Until pFeature Is Nothing
Set pFeature = pFCursor.NextFeature
Loop
7、Set pFCursor = pFClass.Search(Nothing, True)实现了什么?
8、下列程序实现了什么?
Dim pQFilter As IQueryFilter
Set pQFilter = New QueryFilter
pQFilter.WhereClause = "LENGTH > 100000"
Dim pFCursor As IFeatureCursor
Set pFCursor = pFClass.Search(pQFilter, True)
10、color有哪5种可创建的子类?
RgbColor(红、绿、蓝)
CmykColor(青、洋红、黄、黑)
HsvColor(色调、饱和度、值)
HlsColor(色调、亮度、饱和度)
GrayColor(灰度)
11、颜色梯度ColorRamp类有哪四种可创建的子类?
Algorithmic ColorRamp(算法颜色梯度)
Random ColorRamp(随机颜色梯度)
Preset ColorRamp(预定义颜色梯度)
MultiPart ColorRamp(多部分的颜色梯度
12、图形元素(graphic elements)包括哪些?
Line, polygon, marker
Text and pictures
13、框架元素(FrameElements )包括哪些?
Map frames
North arrows, legends, scale bars
Table frames
14、Symbol类有哪几个子类?
文本符号markersymbol,线型符号linesymbol和填充符号fillsymbol等。
15、在对象浏览器中下列图标分别表示什么?
、、、、
分别表示属性、方法、事件、模块和类
可读属性、可写属性、可读可写属性、方法。
五、程序设计题
1、请指出下图中类的类名和接口名,并设计从ThisDocument获取活动地图、所有地图和选中图层的程序
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Dim pMap As IMap
Set pMap = pMxDoc.FocusMap
Dim pAllMaps As IMaps
Set pAllMaps = pMxDoc.Maps
Dim pLayer As ILayer
Set pLayer = pMxDoc.SelectedLayer
2、请设计程序,实现遍历pMap中的图层对象,并将其图层名输出。
Dim pLayer As ILayer
Dim pMapLayers As IEnumLayer
Set pMapLayers = yers
Set pLayer = pMapLayers.Next
Do Until pLayer Is Nothing
MsgBox
Set pLayer = pMapLayers.Next
Loop
3、请指出以下程序设计中的错误
Dim pFieldsEdit As IFieldEdit
Set pFieldsEdit = New Field
pFieldsEdit.AddField pOIDField
pFieldsEdit.AddField pNameField
pFieldsEdit.AddField pSalesField
4、请设计程序实现在pTable中增加一行,并对两个以上的字段赋值。
Dim pRow As IRow
Set pRow = pTable.CreateRow
pRow.Value(1) = "Jesse White"
pRow.Value(2) = 35
pRow.Store
5、请设计程序创建X为10,Y为20 的一个点
Dim pPoint As IPoint
Set pPoint = New Point
pPoint.X = 300
pPoint.Y = 450
6、已知两点A、B,分别存储在pPointA和pPointB中,请设计生成Line的程序
Dim pSegment As ILine
Set pSegment = New Line
Set pSegment.FromPoint = pPointA
Set pSegment.ToPoint = pPointB
7、已知几何体pFeature.Shape,请设计程序实现为该几何体建立20米宽的缓冲区
Dim pTopoOp As ITopologicalOperator
Dim pBuffPoly As IPolygon
Set pTopoOp = pFeature.Shape
Set pBuffPoly = pTopoOp.Buffer (20)
8、两几何体分别存储在pPoly和pAnotherPoly,请设计程序确定两个几何体是否有接触关系
Dim pRelationOp As IRelationalOperator
Dim booTouches As Boolean
Set pRelationOp = pPoly
booTouches = pRelationOp.Touches (pAnotherPoly)
9、两几何体分别存储在pPoly和pAnotherPoly,请设计程序获取两个几何体间的最小距离
Dim pProxOp As IProximityOperator
Dim dblDistance As Double
Set pProxOp = pPoly
dblDistance = pProxOp.ReturnDistance (pAnotherPoly)
10、已知道路要素存储在pFClass中,请设计程序,选取长度大于10公里的道路要素,并将其存储到IfeatureCursor的指针变量中。
Dim pQFilter As IQueryFilter
Set pQFilter = New QueryFilter
pQFilter.WhereClause = "LENGTH > 10"
Dim pFCursor As IFeatureCursor
Set pFCursor = pFClass.Search(pQFilter, True)
六、图示题
1、请图示出下图中类间的关系,并予以阐述。
2、请图示出下图中类间的关系,并予以阐述。
七、论述题
请阐述用AO开发的一般步骤
1.用AO术语对问题进行描述和定义,合理地将大任务合理划分为一些子任务;
2.理解AO的层次组织关系,标识和明确各子任务的关键字;
3.决定在什么地方来编写代码,是VBA呢,还是VB或其它工具;
4.根据标识的关键字在AO Developer help和其它开发资源中搜索有没有相关示例代码。
5.打开正确的对象模型图(OMD),寻找所需要的类、接口。
6.在AO Component Help中浏览有关接口的详细说明及相关文档;
7.在开发环境中使用确定的接口及其方法属性等,完成代码实现。
3、请图示出下图中类间的关系,并予以阐述。
4、请图示出下图中类间的关系,并予以阐述。
5、请图示出下图中类间的关系,并予以阐述。
6、请图示出下图中类间的关系,并予以阐述。