示例代码如下:
/// <summary>
/// Geometry(Polygon)转Polyline
/// </summary>
/// <param name="pGeometry">传入的Polygon多边形</param>
/// <returns>转换后的多段线</returns>
public static IPolyline PolygonToPolyline(IGeometry pGeometry)
{
if (null == pGeometry)
{
return null;
}
IPolyline aTempPolyline = new PolylineClass();
ISegmentCollection aTempGeometryCollection = aTempPolyline as ISegmentCollection;
var pSegmentCollection = pGeometry as ISegmentCollection;
for (int i = 0; i < pSegmentCollection.SegmentCount; i++)
{
aTempGeometryCollection.AddSegment(pSegmentCollection.Segment[i]);
}
return aTempGeometryCollection as IPolyline;
}
思路:将Polygon转为SegmentCollection即线段的集合,逐段加入到Polyline的集合中。