Buffer
[C#]
public IGeometry Buffer (double distance);

버퍼 거리는 shape과 같은 단위로 버퍼에 적용된다.
Polygon에서 음수값의 거리는 내부 버퍼를 수행하며 Polyline에서는 적용되지 않는다.


01.//create point
02.IPoint basePoint = new ESRI.ArcGIS.Geometry.PointClass();
03.basePoint.PutCoords(0, 0);
04.  
05.//buffer
06.ITopologicalOperator topoOpt = (ITopologicalOperator)basePoint;
07.IPolygon bufferPolygon = (IPolygon)topoOpt.Buffer(100.0);
08.IArea baseArea = (IArea)bufferPolygon;
09.System.Diagnostics.Debug.WriteLine(baseArea.Area);
10.  
11.//boundary
12.topoOpt = (ITopologicalOperator)bufferPolygon;
13.IPolyline boundaryLine = (IPolyline)topoOpt.Boundary;
14.System.Diagnostics.Debug.WriteLine(boundaryLine.Length);

ConstructUnion    
[C#]
public void ConstructUnion (IEnumGeometry geometries);

ConstructUnion은 동일한 차원의
Geometry를 담고 있는 GeometryBag과 같은 IEnumGeometry에 대해 일괄적인 Union을 수행한다.
다수의
Geometry를 대상으로 Union을 수행할 경우 각각의 Geometry를 반복적으로 Union하는 방법보다 더 효율적이다.

Union에 대한 예제는 추후에 다룰 것이다.


ConvexHull    
[C#]
public IGeometry ConvexHull ();

Geometry ConvexHull을 반환한다. ConvexHull은 Geometry를 둘러싸는 최외곽 경계 Polygon이며, Point의 경우 Point 그 자체를 반환한다.


Cut    
[C#]
public void Cut (IPolyline cutter, ref IGeometry leftGeom, ref IGeometry rightGeom);

Splits은
cutting polyline을 이용하여 이 Geometry를 왼쪽, 오른쪽 파트로 잘라낸다. 그림에서와 같이 잘라내는 Polyline의 방향 확인에 주의해야 한다.

Clip, ClipDense, QueryClippedDense, QueryClipped
[C#]
public void Clip (IEnvelope clipperEnvelope);

public void ClipDense (IEnvelope clipperEnvelope, double denseDistance);

public void QueryClippedDense (IEnvelope clipperEnvelope, double denseDistance, IGeometry clippedGeometry);

public void QueryClipped (IEnvelope clipperEnvelope, IGeometry clippedGeometry);


Clip 메쏘드는 Feature의 Geometry Envelope으로 클립하며, Envelope을 반환하지는 않는다.
QueryClipped은 Envelope을 이용하여 클립한
Geometry 반환하며 Geometry 유형은 원본과 동일하다.


IsKnownSimple, IsKnownSimple, Simplify
[C#]
public bool IsKnownSimple {get;}

public bool IsSimple {get;}

public void Simplify ();


이 Geometry의 위상적 일관성을 체크하거나 설정하기 위한 멤버들로 IsKnownSimple, IsSimple, Simplify에 대해서는 이 사이트의 다음 문서를 참고한다: Simplifying a geomtery

Difference    
[C#]
public IGeometry Difference (IGeometry other);

Geometry와 대상 Geometry 간의 차집합 Geometry를 반환한다.

Intersect    
[C#]
public IGeometry Intersect (IGeometry other, esriGeometryDimension resultDimension);

Geometry와 대상 Geometry간에 set-theoretic intersection에 의한 교집합(AND) Geometry 를 반환한다. resultDimension 파라미터값을 이용하여 다른 차원의 결과를 생성할 수 있다.

ArcGIS 9.2 버전 이후부터는 Intersect 메쏘드를 호출하기 전에 Disjoint 테스트 수행 후 필요시 호출하는 것이 성능면에서 유리하다.

SymmetricDifference    
[C#]
public IGeometry SymmetricDifference ( IGeometry other);

Geometry와 대상 Geometry간의 대칭적 차집합(XOR) Geometry반환한다.
즉, 두 Geometry (G1, G2)의 Union(G1, G2) - Intersection(G1, G2) 또는 Union(Difference(G1, G2), Difference(G2, G1))의 관계가 성립한다.

Union    
[C#]
public IGeometry Union (IGeometry other);

Geometry 대상 Geometry간에 set-theoretic intersection에 의한 합집합( OR) Geometry를 반환한다


원문 출처: http://resources.esri.com/help/9.3/ArcGISEngine/ArcObjects/esrigeometry/itopologicaloperator