#region//获取对应要素的属性表dataTable
private static DataTable GetElementDataTable(IFeatureLayer pFLayer)
{
DataTable pdataTable = new DataTable();
IFeatureClass pFeatureclass = pFLayer.FeatureClass;
//获取图层属性目录
IFields pFields = pFeatureclass.Fields;
for (int i = 0; i < pFields.FieldCount; i++)
{
string FieldName = pFields.get_Field(i).AliasName;
pdataTable.Columns.Add(FieldName,GetDataType(pFields.get_Field(i).Type.ToString()));
}
//游标
IFeatureCursor pFeatureCursor;
pFeatureCursor = pFeatureclass.Search(null, false);
IFeature pFeature;
pFeature = pFeatureCursor.NextFeature();
while (pFeature != null)
{
DataRow row = pdataTable.NewRow();
for (int i = 0; i < pFields.FieldCount; i++)
{
string FieldValue = null;
FieldValue = Convert.ToString(pFeature.get_Value(i));
row[i] = FieldValue;
}
pdataTable.Rows.Add(row);
pFeature = pFeatureCursor.NextFeature();
}
//指针释放
System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeatureCursor);
return pdataTable;
}
#endregion
C#AE获取对应要素的属性表,返回值为DataTable
猜你喜欢
转载自blog.csdn.net/qq_38370387/article/details/89145721
今日推荐
周排行