C# 使用AE獲取feature的屬性及字段操作
我就廢話不多說瞭,大傢還是直接看代碼吧~
public static DataTable GetFeatureDataTable(IFeature pFeature) { DataTable dt = new DataTable(); dt.Columns.Add("位置:"); dt.Columns.Add("數據:"); for (int i = 0; i < pFeature.Fields.FieldCount; i++) { DataRow dr = dt.NewRow(); dr[0] = pFeature.Fields.Field[i].Name; dr[1] = pFeature.Value[i]; dt.Rows.Add(dr); } return dt; }
補充:C#AE獲取要素圖層某個字段的唯一值
開始喔:
IFeatureLayer featureLayer=你要獲取唯一值的圖層 //存儲唯一值字段 List<string> myValueList = new List<string>(); #region//獲取唯一值字段 //數據統計 IDataStatistics dataStatistics = new DataStatisticsClass(); //設置統計字段 dataStatistics.Field = fieldName; //獲取所有 dataStatistics.Cursor = (ICursor)featureLayer.FeatureClass.Search(null, false); IEnumerator myEnumerator = dataStatistics.UniqueValues; //獲取該字段的唯一值字段 myEnumerator.Reset(); while (myEnumerator.MoveNext()) { if (!myValueList.Contains(myEnumerator.Current.ToString())) { myValueList.Add(myEnumerator.Current.ToString()); } } //指針釋放(用完釋放,養成良好習慣哈) System.Runtime.InteropServices.Marshal.ReleaseComObject(dataStatistics); #endregion
結束呦。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 深入理解Java設計模式之迭代器模式
- C# 遍歷datatable字段名和value的案例
- C#中Foreach循環遍歷的本質與枚舉器詳解
- C#中DataTable的創建與遍歷實現
- C#中的yield關鍵字詳解