Come from ArcGIS Online IGeometryCollection Interface

Provides access to members that can be used for accessing, adding and removing individual geometries of a multi-part geometry (Multipoint, Polyline, Polygon, MultiPatch, and GeometryBag).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Description

A Collection of Geometry parts.  For Multipoints, Triangles, TriangleFans, and TriangleStrips, the Geometry parts are Points. For Polylines, the Geometry parts are Paths.  For Polygons, the Geometry parts are Rings.  For MultiPatches, the Geometry parts are Triangles, TriangleFans, TriangleStrips, or Rings.  For GeometryBags, the Geometry parts are any IGeometry object.

The GeometryCollection can be used to access, manipulate, add, insert, remove, and set specific parts of a composite geometry.

When To Use

If you are using a development language that does not support C style arrays, use IGeometryBridge instead. The IGeometryBridge interface solves that problem allowing you to pass safe arrays instead.

Members

Description

 

AddGeometries

Adds references to the specified geometries. This method is intended for internal use only.

 

AddGeometry

Adds a reference to the input geometry either at the end, or before, or after the specified index.

 

AddGeometryCollection

Adds references to geometries in the input collection.

 

GeometriesChanged

Tells this geometry collection that some of its geometries have been altered. Use this method on polylines, polygons and multipatches after directly editing one of its parts.

 

Geometry

A reference to the ith geometry.

 

GeometryCount

The number of geometries in this collection.

 

InsertGeometries

Inserts at the specified index references to some number of geometries in the input array. This method is intended for internal use only.

 

InsertGeometryCollection

Inserts at the specified index references to all if the geometries in the input collection.

 

QueryGeometries

Populates the array with references to a sub-sequence of geometries. This method is intended for internal use only.

 

RemoveGeometries

Removes references to some geometries from this collection.

 

SetGeometries

Replaces all geometries in the collection with the specified number of references to those in the input array. This method is intended for internal use only.

 

SetGeometryCollection

Replaces all geometries in the collection with references to geometries from the input collection.

CoClasses that implement IGeometryCollection

CoClasses and Classes

Description

GeoEllipse (esriDefenseSolutions)

Its a spheroidal ellipse.

GeometryBag

An ordered collection of objects that support the IGeometry interface.

GeoPolygon (esriDefenseSolutions)

Its a spheroidal polygon.

GeoPolyline (esriDefenseSolutions)

This is a spheroidal polyline.

MultiPatch

A collection of surface patches.

Multipoint

An ordered collection of points; optionally has measure, height and ID attributes.

Polygon

A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.

Polyline

An ordered collection of paths; optionally has measure, height and ID attributes.

TriangleFan

A continuous 3D fan of triangles, where each triangle after the first shares an edge with the preceding triangle, and all triangles share a common pivot point.

Triangles

A collection of 3D triangles, where each consecutive triplet of vertices defines a new triangle

TriangleStrip

A continuous 3D strip of triangles, where each triangle after the first shares an edge with the preceding triangle.

Remarks

Every Geometry created within ArcGIS should be assigned a spatial reference. Always attach well-defined spatial references to new geometries. This improves processing efficiency, in particular, when using ITopologicalOperator on geometries that contain curved segments (circular arcs, bezier curves, elliptical arcs). New geometries include any geometry that is created in memory. It does not matter whether it will be stored in a feature class or not. Well-defined as applied to a spatial reference means that it not only has its coordinate system (projection) defined, but also its coordinate grid. The coordinate grid consists of the xy domain, xy resolution, and xy cluster tolerance properties of a spatial reference. If the Geometry includes z or m values, the z or m domains, z or m resolutions, and z or m cluster tolerance properties must also be defined. The cluster tolerance and resolutions can be quickly and easily set using SetDefault methods on ISpatialReferenceResolution and ISpatialReferenceTolerance interfaces.

//The example shows a GeometryCollection for MultiPoint.
public void ShowGeometries()
{ IGeometryCollection geometryCollection = new MultipointClass();
//add 10 points in a loop
object missing = Type.Missing; for (int i = ; i < ; i++)
{
IPoint point = new PointClass();
point.PutCoords(i * , i * );
geometryCollection.AddGeometry(point as IGeometry, ref missing, ref missing);
} int geometryCount = geometryCollection.GeometryCount;
System.Windows.Forms.MessageBox.Show("GeometryCount = " + geometryCount); for (int i = ; i < geometryCount; i++)
{
IGeometry currentGeometry = geometryCollection.get_Geometry(i);
IPoint point = currentGeometry as IPoint; //we know that there are IPoints only in the Geometrycollection.
//But this is the safe and recommended way
if (point != null)
{
System.Windows.Forms.MessageBox.Show("X = " + point.X + ", Y = " + point.Y);
} } }

IGeometryCollection Interface的更多相关文章

  1. angular2系列教程(七)Injectable、Promise、Interface、使用服务

    今天我们要讲的ng2的service这个概念,和ng1一样,service通常用于发送http请求,但其实你可以在里面封装任何你想封装的方法,有时候控制器之间的通讯也是依靠service来完成的,让我 ...

  2. 接口--interface

    “interface”(接口)关键字使抽象的概念更深入了一层.我们可将其想象为一个“纯”抽象类.它允许创建者规定一个类的基本形式:方法名.自变量列表以及返回类型,但不规定方法主体.接口也包含了基本数据 ...

  3. Configure a bridge interface over a VLAN tagged bonded interface

    SOLUTION VERIFIED February 5 2014 KB340153 Environment Red Hat Enterprise Linux 6 (All Versions) Red ...

  4. Create a bridge using a tagged vlan (8021.q) interface

    SOLUTION VERIFIED April 27 2013 KB26727 Environment Red Hat Enterprise Linux 5 Red Hat Enterprise Li ...

  5. Configure a bridged network interface for KVM using RHEL 5.4 or later?

    environment Red Hat Enterprise Linux 5.4 or later Red Hat Enterprise Linux 6.0 or later KVM virtual ...

  6. Set up VLAN (802.1q) tagging on a network interface?

    SOLUTION VERIFIED October 13 2015 KB39674 KB741413 environment Red Hat Enterprise Linux 4 Red Hat En ...

  7. 谨慎使用Marker Interface

    之所以写这篇文章,源自于组内的一些技术讨论.实际上,Effective Java的Item 37已经详细地讨论了Marker Interface.但是从整个Item的角度来看,其对于Marker In ...

  8. 浅析Go语言的Interface机制

    前几日一朋友在学GO,问了我一些interface机制的问题.试着解释发现自己也不是太清楚,所以今天下午特意查了资料和阅读GO的源码(基于go1.4),整理出了此文.如果有错误的地方还望指正. GO语 ...

  9. 如何设计一门语言(七)——闭包、lambda和interface

    人们都很喜欢讨论闭包这个概念.其实这个概念对于写代码来讲一点用都没有,写代码只需要掌握好lambda表达式和class+interface的语义就行了.基本上只有在写编译器和虚拟机的时候才需要管什么是 ...

随机推荐

  1. HDU 4678 Mine SG博弈

    http://acm.hdu.edu.cn/showproblem.php?pid=4678 自己太蠢...没学SG...还是浩神指点我SG精髓以后才A的这题...(第一题SG 这里子游戏之间没有影响 ...

  2. oracle取随机结果测试

    http://www.2cto.com/database/201307/227524.html

  3. [Anuglar & NgRx] StoreRouterConnectingModule

    Always treat Router as the source of truth When we use Ngrx, we can see that we will use a "Sto ...

  4. 解决ubuntu终端无法输入中文的问题

    解决ubuntu终端无法输入中文的问题 来源: https://my.oschina.net/lvhongqing/blog/851922 首先把中文语言包安装上 打开 /var/lib/locale ...

  5. js28--适配器模式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  6. 用C#生成随机中文汉字验证码的基本原理

    前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^  我不得不佩服腾讯为了防止目前网络上横行的QQ号码 ...

  7. Java 批量修改文件后缀

    import java.io.*; public class test { public void reName(String path, String from, String to) { File ...

  8. 读书笔记-Java设计模式

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Java的封装性很好,拿访问控制符来讲,没有权限的类或方法是不能访问的.如public,都可访问:p ...

  9. 洛谷——P3819 松江1843路

    https://www.luogu.org/problem/show?pid=3819 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方 ...

  10. [Python] The get() method on Python dicts and its "default" arg

    # The get() method on dicts # and its "default" argument name_for_userid = { 382: "Al ...