ArcGIS接口详细说明

上传人:飞****9 文档编号:130235402 上传时间:2020-04-26 格式:DOC 页数:46 大小:44.99KB
返回 下载 相关 举报
ArcGIS接口详细说明_第1页
第1页 / 共46页
ArcGIS接口详细说明_第2页
第2页 / 共46页
ArcGIS接口详细说明_第3页
第3页 / 共46页
ArcGIS接口详细说明_第4页
第4页 / 共46页
ArcGIS接口详细说明_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《ArcGIS接口详细说明》由会员分享,可在线阅读,更多相关《ArcGIS接口详细说明(46页珍藏版)》请在金锄头文库上搜索。

1、ArcGIS接口详细说明. 1GeometryGeometry 库处理存储在特征类(feature classes)或其它图形要素(graphical elements)中的特征的 geometry 或 shape。大多数用户交互的基本几何对象有 Point 、MultiPoint 、Polyline 和 Polygon 。除了这些顶层的 实体, 还有作为 Polylines 和 Polygons 构建模块的几何体(geometries)。 这些是组成几何体的基元(primitives)。 它们是 Segments、Paths 和 Rings。Polylines 和 Polygons 由形成一

2、条 Path 的依次相连的 Segments 组成。 一个 Segment 包含两个不同的点, 起点和终点, 和一个定义从起点到终点的曲线的要素类型。 这种 segments 有 CircularArc、 Line、 EllipticArc 和 BezierCurve。 所有的几何对象都可以有与它们顶点相关的 Z、 和 IDs。 MISegmentCollection接口被Path,Ring,Polyline和Polygon四个类所实现,它们被称作是Segment集合对象,使用这个接口可以处理组成Segment集合对象中的每一个子Segment对象。使用ISegmentCollection接口

3、可以为一个Segment集合对象添加,插入,删除Segment子对象。ISegmentCollection接口SetCircle和SetRectangle方法提供了一种简单不需要添加Segment的情况下构建一个完成的Path,Ring,Polyline和Polygon的方法。Geometry集合接口 通过前边对于具体的Geometry对象的介绍可知,除了Point对象之外,其他几何对象都是通过其他几何对象集合构建而成。如MultiPoint对象是点的集合,Path对象是Segment对象的集合,Polyline对象是Path对象的集合,Polygon对象是Ring对象的集合,Multipat

4、ch对象是Triangle Strip和Trangle Fan, Trangle,Ring对象的集合。 ArcGIS Engine提供了三个主要的几何图形集合接口用于对几何对象的操作,分别是IPointCollection,ISegmentCollection和IGeometryCollection,这些接口揭示出ArcGIS Engine的几何模型的实质它们是一种组合构成的模式,这种组合并不一定按照严格的层次结构组织。 在前面介绍一些几何对象的时候,也给大家演示了部分使用功能,这三个接口在程序开发中经常使用到,接下来简单阐述以下这三个接口的使用方法。 2.4.9.1IGeometryColl

5、ection接口 IGeometryCollection接口被Polygon,Polyline, Multipoint, Multipatch, Trangle,T rangle Strip,Trangle Fan和GeometryBag所实现。IGeometryCollection接口提供的方法可以让开发者对一个几何对象的组成元素即子对象进行添加,改变和移除。例如: 组成Polyline对象的子对象是Path对象。 组成Polygon对象的子对象是Ring对象。 组成Multipoint对象的子对象是Point对象。 组成MultiPatch对象的子对象是TrangleFan Trangle

6、Strip,Triangle或Ring对象。 组成GeometryBag对象的是任何类型的几何体对象,实际上GeometryBag是一个可以容纳任何类型几何对象的容器。 IGeometryCollection的Geometry 属性可以通过一个索引值返回一个组成该几何对象的某个子对象,而GeometryCount返回组成该几何对象的子对象的数目。 IGeometry的AddGeometry和AddGeometries方法都用于向一个几何对象添加子对象,它们的区别是前者一次只能添加一个几何对象,而后者可以一次添加一个几何对象数组。除此之外,AddGeometry方法可以将子对象添加到几何的指定索

7、引值的位置,而AddGeometries方法将子对象数组添加到集合的最后。 在使用AddGeometry方法添加子对象到Polygon对象的过程中,如果子对象即Ring出现覆盖现象,那么多边形就没有封闭或出现了包含关系,那么这个Polygon就不是简单Polygon,因此通过IGometryCollection来创建一个Polygon时,需要使用ITopologicalOperator 的Simplify方法保证其有效性。13. 关于IFeatureClass接口(esriGeoDatabase)IFeatureClass接口的第一个方法AddField(Field) (方法,增加一个属性字段

8、到这个要素类,其中传入的参数为一个IField接口的变量,此变量可以由其他要素类获得并赋值给要操作的要素类,可用IFeilds接口的Field属性来获得)IFeatureClass接口的第二个方法DeleteField(Field) (方法,删除一个属性字段,其中传入的参数为一个IField接口的变量)IFeatureClass接口的第三个属性Fields(只读,获取该要素类的全部属性字段,返回一个IFields类型的变量)IFeatureClass接口的第四个方法FindField(Name) (方法,去查找在该要素类里面是否含有参数名字的属性字段,如果有,则返回索引,没有,则返回-1)IF

9、eatureClass接口的第五个属性AreaField(只读,获取属性字段为geometry的那一个Field)IFeatureClass接口的第六个方法Search (filter, Recycling) (方法,去得到一个IFeatureCursor类型的游标,该游标由filter来控制赛选,如果filter等于null,则返回整个featureclass的游标,再用IfeatureCursor的NextFeature的方法依次得到每一个Feature)IFeatureClass接口的第七个方法Insert(useBuffering) (方法,去得到一个IFeatureCursor类型的

10、游标,来用作插入新的Features,useBuffering是一个布尔型参数,当为True时即可以插入新的Feature,再用IFeatureCursor的InsertFeature (buffer )的方法去插入一个新的Feature)IFeatureClass接口的第八个方法CreateFeatureBuffer(方法,新建一个缓冲,返回一个IFeatureBuffer类型的变量,然后再对这个变量进行操作)关于IFeatureCursor接口(esriGeoDatabase)IFeatureCursor接口的第一个方法NextFeature(方法,将游标向前跳到下一个位置,并且返回该位置

11、的Feature)IFeatureCursor接口的第二个方法UpdateFeature(Feature) (方法,对当前游标位置的Feature进行更新)IFeatureCursor接口的第三个方法InsertFeature(buffer) (方法,用参数传进来的属性值插入一个新的要素到数据库中,返回该插入新的Feature的ID值,其中参数类型为IFeatureBuffer) private void button1_Click(object sender, EventArgs e) string FilePathName=E:数据样本测试文件夹; /创建坐标轴pline图层 string

12、 MapLayerName = ; shapeFileFullName = 测试.shp; MapLayerName = shapeFileFullName.Substring(0, shapeFileFullName.Length - 4); string PointLineHu = Polyline;/标记是点、线、弧point line yuanhu /显示绘图页面 tabControl1.Show(); tabControl1.SelectedTab = tabPageMap; if (Directory.Exists(FilePathName) = false)/如果不存在该文件夹就

13、创建文件夹 Directory.CreateDirectory(FilePathName); /接口IWorkspaceFactory提供创建和打开workspace的成员以及访问workspace factory信息的成员。 IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass(); /IFeatureWorkspace接口用于访问和管理地理数据库中的要素的重要成分数据集, IFeatureWorkspace pFWS = (IFeatureWorkspace)pWSF.OpenFromFile(FilePathName, 0

14、); string outfileNamePath = FilePathName + + shapeFileFullName; /如果shapefile存在,询问覆盖还是返回 /如果shapefile存在,询问覆盖还是返回 if (File.Exists(outfileNamePath) if (MessageBox.Show( 文件已经存在,是否要重新计算覆盖原文件?, 询问!, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = DialogResult.OK) if (axMapView.LayerCount 0) this.axMapView.ClearLayers(); this.axMapView.Refresh(); IFeatureClass fe

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号