0
点赞
收藏
分享

微信扫一扫

ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码

彭维盛 2022-05-31 阅读 82

#region 校验合法性

            ArrayList pFeatureArray = null;

            pFeatureArray = Application.Editor.FeatureSelection();

            int count=pFeatureArray.Count;

            if (count<1)

            {

                MessageBox.Show("最少必须选择1个要素才能进行要素分解!", "提示");

                return;

            }

#endregion   

try

            {

                //启动编辑操作

                Application.Editor.StartOperation();

                #region 对选中的要素进行多部件测试及分解

                int multipartcount = 0;

                for (int i = 0; i < count; i++)

                {

                    IFeature pFeature = pFeatureArray as IFeature;
                    if (pFeature.ShapeCopy.IsEmpty) continue;
                    IGeometry pGeometry = pFeature.ShapeCopy;
                    IGeometryCollection pGeocoll = pGeometry as IGeometryCollection;
                    int geomcount = pGeocoll.GeometryCount;
                    if (geomcount > 1)
                    {
                        multipartcount++;
                        for (int k = 1; k < geomcount; k++)
                        

举报

相关推荐

0 条评论