通过传入坐标点,返回几何图形,此代码部分可以生成环形面。
方法一
private IGeometry getGeometry(IPointCollection Points) { IPointCollection iPointCollection = new PolygonClass(); Ring ring = new RingClass(); object missing = Type.Missing; ring.AddPointCollection(Points); IGeometryCollection pointPolygon = new PolygonClass(); pointPolygon.AddGeometry(ring as IGeometry, ref missing, ref missing); IPolygon polyGonGeo = pointPolygon as IPolygon; //polyGonGeo.Close(); polyGonGeo.SimplifyPreserveFromTo(); return polyGonGeo as IGeometry; }
方法二:
private IGeometry getGeometry1(IPointCollection Points) { //IPointCollection iPointCollection = new PolygonClass(); object pMissing = Type.Missing; //iPointCollection.AddPointCollection(Points); IGeometryCollection pGeoColl = Points as IGeometryCollection; ISegmentCollection pRing = new RingClass(); pRing.AddSegmentCollection(pGeoColl as ISegmentCollection); object miss = Type.Missing; IGeometryCollection pPolygon = new PolygonClass(); pPolygon.AddGeometry(pRing as IGeometry, ref miss, ref miss); ITopologicalOperator topologicalOperator = pPolygon as ITopologicalOperator; topologicalOperator.Simplify(); return pPolygon as IGeometry; }