1.Geometry
Geometry 是 GIS 中使用最為廣泛的對象集之一,使用者在建立、删除、編輯和進行地理分析的時候,就是處理一個包含幾何形體的矢量對象;除了顯示要素意外,控件對象選擇,要素符号化,标注要素,編輯要素都需要 Geometry 參與。在 ArcGIS Engine 中,幾個對象都有嚴格的定義,比如我們所說的直線,多斷線等,于此同時 ArcGIS Engine 提供了而一個幾何對象的模型圖,如下:

2.Geometry 集合接口
通過前邊對于具體的 Geometry 對象的介紹可知,除了 Point 對象之外,其他幾何對象都是通過其他幾何對象集合建構而成。如 MultiPoint 對象是點的集合,Path 對象是 Segment 對象的集合,Polyline 對象是 Path 對象的集合,Polygon 對象是 Ring 對象的集合,Multipatch 對象是 Triangle Strip 和 Trangle Fan, Trangle,Ring 對象的集合。 ArcGIS Engine 提供 了三個主要的幾何圖形集合接口用于對幾何對象的操作 ,分别是IPointCollection,ISegmentCollection 和 IGeometryCollection,這些接口揭示出 ArcGIS Engine 的幾何模型的實質——它們是一種組合構成的模式,這種組合并不一定按照嚴格的層次結構組織。 在前面介紹一些幾何對象的時候,也給大家示範了部分使用功能,這三個接口在程式開發中經常使用到,接下來簡單闡述以下這三個接口的使用方法。 IGeometryCollection 接口被 Polygon,Polyline, Multipoint, Multipatch, Trangle,T rangle Strip,Trangle Fan 和 GeometryBag 所實作。IGeometryCollection 接口提供的方法可以讓開發者對一個幾何對象的組成元素即子對象進行添加,改變和移除。例如:
組成 Polyline 對象的子對象是 Path 對象。
組成 Polygon 對象的子對象是 Ring 對象。
組成 Multipoint 對象的子對象是 Point 對象。
組成 MultiPatch 對象的子對象是 TrangleFan TrangleStrip,Triangle 或 Ring 對象。
組成 GeometryBag 對象的是任何類型的幾何體對象,實際上 GeometryBag 是一個可以容納任何類型幾何對象的容器。
IGeometryCollection、這個接口是具有相同類型的幾何對象的集合,該接口的的 Geometry 屬性可以通過一個索引值傳回一個組成該幾何對象的某個子對象,而 GeometryCount 傳回組成該幾何對象的子對象的數目。
IGeometry 的 AddGeometry 和 AddGeometries 方法都用于向一個幾何對象添加子對象,它們的差別是前者一次隻能添加一個幾何對象,而後者可以一次添加一個幾何對象數組。除此之外,AddGeometry 方法可以将子對象添加到幾何的指定索引值的位置,而 AddGeometries 方法将子對象數組添加到集合的最後。 在使用 AddGeometry 方法添加子對象到 Polygon 對象的過程中,如果子對象即 Ring 出現覆寫現象,那麼多邊形就沒有封閉或出現了包含關系,那麼這個 Polygon 就不是簡單 Polygon,是以通過IGometryCollection 來建立一個 Polygon 時,需要使用 ITopologicalOperator 的 Simplify 方法保證其有 效性。