ArcGIS Engine遍历要素属性

血红的双手。 提交于 2019-11-26 08:45:06

1.获取要素属性表字段

FeatureClass带有Fields属性,可以用来得到字段值。

            //获取图层
            ILayer pLayer = axMapControl1.get_Layer(2);
            IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;  //转为要素图层

            IFields pFields = pFeatureLayer.FeatureClass.Fields;

            string mf = "";
            for(int i = 0; i < pFields.FieldCount; i++)
            {
                mf += pFields.Field[i].Name+"\n";  //第几个参数
            }

2、获取指定字段属性值

Feature类具有get_Field()方法,可以用来获取指定字段的属性值,需要注意的是,此处参数为int类型。

            IFields pFields=pFeaClass.Fields;
            for (int i = 0; i < pFields.FieldCount; i++)
            {
                dataGridView1.Columns.Add(pFields.Field[i].Name, pFields.Field[i].AliasName);
            }
            IFeatureCursor pFeaCursor = pFeaClass.Search(null, true);
            IFeature pFeature=pFeaCursor.NextFeature();
            while (pFeature != null)
            {
                int index= dataGridView1.Rows.Add();
                
                for (int i = 0; i < pFields.FieldCount; i++)
                {
                    dataGridView1.Rows[index].Cells[i].Value = pFeature.get_Value(i);
                    String[] val=new String[5];
                    dataGridView1.Rows.Add(val);
                }
                pFeature=pFeaCursor.NextFeature();
            }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!