ArcGis学习

发布时间 2024-01-05 15:57:53作者: Jackpot_ABC

IWorkspaceFactory

用于创建和打开工作空间(Workspace)的工厂接口

IWorkspace

所有工作空间类型的基本接口
工作空间是ArcGIS中用于组织和管理地理数据的容器,可以包含多个数据集(Dataset),如要素类、栅格数据集等。
可以通过类型转换将IWorkspace接口转换为IFeatureWorkspace接口,这样可以使用IFeatureWorkspace接口提供的特定于要素类数据的方法

IFeatureWorkspace

用于操作要素类数据的接口,它继承自IWorkspace接口

创建要素类:通过CreateFeatureClass方法,可以在工作空间中创建新的要素类。可以指定要素类的名称、字段结构、空间参考等信息。

打开要素类:通过OpenFeatureClass方法,可以在工作空间中打开现有的要素类。可以根据要素类的名称或ID进行查找和打开。

删除要素类:通过DeleteFeatureClass方法,可以从工作空间中删除指定的要素类。

其他方法:IFeatureWorkspace接口还提供了其他一些方法,如获取工作空间中的所有要素类、创建要素数据集等。

IFeatureClass

要素类,相当于一张表,存储同一要素类型(点/线/面)的要素
可以对要素进行增删改查

FeatureCount:获取要素类中要素的数量。
FeatureType:获取要素类的类型,如点、线、面等。
Fields:获取要素类的字段集合,包含了要素的属性信息。
ShapeFieldName:获取要素类中存储几何形状的字段名。
SpatialReference:获取要素类的空间参考,用于定义坐标系和投影信息。
CreateFeature:创建一个新的要素,并将其添加到要素类中。
GetFeature:根据要素的唯一标识符获取要素对象。
Search:执行属性查询,返回满足条件的要素游标。
Update:更新要素类中的要素。
DeleteFeature:从要素类中删除指定的要素。

ISpatialFilter

定义空间查询的条件和限制。它可以用于在要素类中进行空间查询,根据空间位置关系过滤要素。

Geometry属性:用于设置或获取用于空间查询的几何对象。可以通过设置Geometry属性来定义查询的空间范围。

SpatialRel属性:用于设置或获取空间关系类型。可以通过设置SpatialRel属性来指定查询的空间关系,如相交、包含、相邻等。

GeometryField属性:用于设置或获取要素类中用于空间查询的字段名称。可以通过设置GeometryField属性来指定要素类中存储几何对象的字段。

SpatialReference属性:用于设置或获取空间参考信息。可以通过设置SpatialReference属性来指定查询的空间参考。

SearchOrder属性:用于设置或获取查询的顺序。可以通过设置SearchOrder属性来指定查询的顺序,如空间顺序、属性顺序等。

WhereClause属性:用于指定属性查询的条件。它是一个字符串,类似于SQL语句中的WHERE子句,用于过滤要素类中的要素。

IFeatureCursor

用于遍历要素集合的游标接口

获取要素游标:通过要素类的Search方法或者查询过滤器来获取一个IFeatureCursor对象。

遍历要素:使用IFeatureCursor的NextFeature方法逐个获取要素。该方法返回一个IFeature对象,表示当前游标位置的要素。可以使用循环结构来遍历所有要素。

处理要素:对于每个获取到的要素,可以使用IFeature接口提供的方法来获取要素的属性、几何形状等信息,进行相应的处理操作。

释放资源:在遍历完成后,需要调用IFeatureCursor的ReleaseComObject方法来释放资源。

IFeature

要素,相当于一条表数据,包含地理要素的几何形状和属性
可以对该要素进行几何形状、属性值进行操作

Shape:获取或设置要素的几何形状。
Value:获取或设置要素的属性值。
Fields:获取要素的字段集合,包含了要素的属性信息。
ShapeCopy:获取要素几何形状的副本。
Store:将要素的几何形状和属性信息保存到数据源中。
Delete:从数据源中删除要素。

IGeometry

要素的几何形状
定义了对地理要素几何形状进行操作和查询的方法和属性。

GeometryType:获取地理要素的几何类型,如点、线、面等。
SpatialReference:获取或设置地理要素的空间参考,用于定义坐标系和投影信息。
Envelope:获取地理要素的几何范围(边界框),表示几何形状的最小外接矩形。
Dimension:获取地理要素的几何维度,如0表示点、1表示线、2表示面。
Area:计算地理要素的面积。
Length:计算地理要素的长度。
Centroid:获取地理要素的质心(几何形状的中心点)。
Buffer:对地理要素进行缓冲区分析,生成缓冲区几何形状。
Intersect:判断两个地理要素是否相交。
Project:将地理要素的几何形状投影到指定的坐标系。

可以通过将IGeometry对象强制转换为IRelationalOperator接口进行空间运算、ITopologicalOperator进行拓扑操作

IRelationalOperator

对几何对象进行空间关系运算
它提供了一组方法,用于比较和判断两个几何对象之间的空间关系。

Equals:判断两个几何对象是否相等。
Disjoint:判断两个几何对象是否不相交。
Intersects:判断两个几何对象是否相交。
Touches:判断两个几何对象是否相接。
Crosses:判断两个几何对象是否相交但不相接。
Within:判断一个几何对象是否完全包含在另一个几何对象内部。
Contains:判断一个几何对象是否完全包含另一个几何对象。
Overlaps:判断两个几何对象是否部分重叠。

IRelationalOperator.Geometry属性,可将IRelationalOperator对象转换为IGeometry接口

ITopologicalOperator

它提供了一系列用于处理几何对象的拓扑操作方法,如缓冲区分析、空间关系判断、拓扑修复等。

Buffer方法:用于创建几何对象的缓冲区。可以指定缓冲区的距离、缓冲区的样式等参数。

Intersect方法:用于计算两个几何对象的交集。返回一个新的几何对象,表示两个几何对象的交集部分。

Union方法:用于计算两个几何对象的并集。返回一个新的几何对象,表示两个几何对象的合并结果。

Difference方法:用于计算两个几何对象的差集。返回一个新的几何对象,表示第一个几何对象减去第二个几何对象后的结果。

SymmetricDifference方法:用于计算两个几何对象的对称差集。返回一个新的几何对象,表示两个几何对象的不重叠部分的合并结果。

Simplify方法:用于简化几何对象。可以通过指定简化的容差来控制简化的程度。

AxMapControl

ArcGIS Engine中的一个ActiveX控件,用于在Windows Forms应用程序中显示地图数据和进行地图操作。
继承自Windows Forms中的Control类,并提供了一系列用于管理地图显示和交互的属性和方法。它可以用于加载地图文档(MXD)或地图服务,并支持地图的缩放、平移、选择、查询等操作。

Map属性:获取或设置要显示的地图对象。

LayerCount属性:获取地图中图层的数量。

ActiveView属性:获取当前活动视图对象。

FullExtent属性:获取地图的全局范围。

ZoomToLayer方法:将地图缩放至指定图层的范围。

Pan方法:平移地图。

ZoomIn方法和ZoomOut方法:放大和缩小地图。

Identify方法:进行地图要素的识别。

Refresh方法:刷新地图显示。

AddLayer方法添加图层

IFeatureLayer

主要作用是管理要素图层的属性和方法,包括要素类、定义查询、显示字段、标注、渲染器、选择集等。通过IFeatureLayer接口,可以对要素图层进行管理和操作,以满足不同的地理信息系统应用需求。

FeatureClass属性:获取或设置要素图层所关联的要素类对象。

DefinitionQuery属性:获取或设置要素图层的定义查询,用于筛选要素类中的要素。

DisplayField属性:获取或设置要素图层中用于显示的字段名。

ShowTips属性:获取或设置是否在鼠标悬停时显示提示信息。

Selectable属性:获取或设置要素图层是否可选择。

ScaleSymbols属性:获取或设置是否按比例缩放符号。

Label属性:获取或设置要素图层的标注属性。

Renderer属性:获取或设置要素图层的渲染器属性。

SearchFields属性:获取或设置要素图层的搜索字段。

FeatureSelection属性:获取要素图层的要素选择集合。

SelectFeatures方法:根据指定的查询条件选择要素。

ClearSelection方法:清除要素图层的要素选择集合。

SetSelectionSymbol方法:设置要素图层的选择符号。

IGeoFeatureLayer

用于表示地理要素图层的接口,它继承自IFeatureLayer接口,因此具有IFeatureLayer接口的所有属性和方法。

SpatialReference属性:获取或设置地理要素图层的空间参考。

DisplayAnnotation属性:获取或设置是否显示地理要素图层的注记。

DisplayAnnotationProperties属性:获取或设置地理要素图层的注记显示属性。

DisplayAnnotationSublayers属性:获取地理要素图层的注记子图层集合。

DisplayAnnotationSublayerProperties方法:获取地理要素图层的指定注记子图层的显示属性。

DisplayAnnotationSublayerVisibility方法:获取或设置地理要素图层的注记子图层的可见性。

DisplayAnnotationSublayerLabelVisibility方法:获取或设置地理要素图层的注记子图层的标签可见性。

DisplayAnnotationSublayerLabelPlacement方法:获取或设置地理要素图层的注记子图层的标签放置方式。

DisplayAnnotationSublayerLabelWeight方法:获取或设置地理要素图层的注记子图层的标签权重。

DisplayAnnotationSublayerLabelExpression方法:获取或设置地理要素图层的注记子图层的标签表达式。

DisplayAnnotationSublayerLabelPlacementProperties方法:获取地理要素图层的注记子图层的标签放置属性。

DisplayAnnotationSublayerLabelPlacementMethod方法:获取或设置地理要素图层的注记子图层的标签放置方法。

DisplayAnnotationSublayerLabelPlacementPriority方法:获取或设置地理要素图层的注记子图层的标签放置优先级。

IFeatureRenderer

用于表示要素渲染器的接口,它是所有要素渲染器的基类,包括简单渲染器、唯一值渲染器、分级渲染器等
主要作用是管理要素渲染器的属性和方法,包括符号、标签、符号级别、标签放置方式等。通过IFeatureRenderer接口,可以对要素渲染器进行管理和操作

Symbol属性:获取或设置要素渲染器使用的符号。

Label属性:获取或设置要素渲染器使用的标签。

UseSymbolLevels属性:获取或设置是否使用符号级别。

SymbolLevels属性:获取或设置符号级别。

LabelPlacement属性:获取或设置标签放置方式。

LabelExpression属性:获取或设置标签表达式。

LabelSymbol属性:获取或设置标签符号。

CreateLegendClass方法:创建要素渲染器的图例类。

ActiveView

用于表示地图或布局的活动视图。它是IMap和IPageLayout接口的父接口,提供了对地图或布局的显示和交互操作的方法和属性。

Extent属性:获取或设置活动视图的范围。

ScreenDisplay属性:获取与活动视图关联的屏幕显示对象。

FocusMap属性:获取或设置与活动视图关联的地图对象。

Refresh方法:刷新活动视图的显示。

PartialRefresh方法:局部刷新活动视图的显示。

ClearSelection方法:清除活动视图中的选择集。

ZoomToSelectedFeatures方法:将活动视图缩放至选择的要素范围。

FlashShape方法:闪烁显示指定的几何形状。