/// <summary>
/// 多面要素拆分
/// </summary>
/// <param name="geoCol"></param>
/// <param name="geolst"></param>
private void Geometrys2GeometryLst(IGeometryCollection geoCol,ref List<IGeometry> geolst)
{
//判断面是否包含多个面要素
if (geoCol.GeometryCount > 1)
{
//循环多面要素
for (int i = 0; i < geoCol.GeometryCount; i++)
{
//取子图形,并转为点集合对象
IGeometry subgeo = geoCol.get_Geometry(i);
IPointCollection subPtCol = subgeo as IPointCollection;
//创建新的面图形
IPointCollection ptcol = new PolygonClass();
for (int j = 0; j < subPtCol.PointCount; j++)
{
IPoint pt = subPtCol.get_Point(j);
ptcol.AddPoint(new PointClass() { X = pt.X, Y = pt.Y, Z = pt.Z });
}
geolst.Add(ptcol as IGeometry);
}
}
else {
geolst.Add(geoCol as IGeometry);
}
}
ArcEngine 多面拆分为单面要素
最新推荐文章于 2023-08-10 22:26:26 发布