基于C#的ArcEngine二次开发51:获取图层字段唯一值列表(Get Unique Values)

简介: 基于C#的ArcEngine二次开发51:获取图层字段唯一值列表(Get Unique Values)

1 ArcMap功能演示

Selection --> 选择要查询的字段值 --> Get Unique Values

20201120100441326.gif

2 IDataStatistics Interface

Members

image.png

3 AE实现代码

获取指定字段的唯一属性值,转载自:获取唯一值

public static IList<string> GetUniqueValue(ILayer Layer,string field) 
{
  IList<string> listValues = new List<string>();
  //判断字段是否存在
   if (flayer.FeatureClass.FindField(field)==-1)
     return listValues ;
  //去除字段为NULL字段
  IQueryFilter queryFilter = new QueryFilterClass();
  queryFilter.WhereClause = field + " IS  NOT NULL";
  ICursor cursor = flayer.FeatureClass.Search(queryFilter , false) as ICursor;
  //获取唯一值
  IDataStatistics dataStatistics = new DataStatisticsClass
  {
      //统计字段
      Field = field,
      Cursor = cursor
  };
  //获取唯一值枚举
  System.Collections.IEnumerator enumerator = dataStatistics.UniqueValues;
  if (dataStatistics.UniqueValueCount==0)
      return listValues ;
  enumerator.Reset();
  while (enumerator.MoveNext())
  {
      //获取唯一值字段
      listValues.Add(enumerator.Current.ToString());
  }
  return listValues ;
}



相关文章
|
2月前
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
|
9月前
|
C#
CAD2015 C#二次开发 字体变形
CAD2015 C#二次开发 字体变形
|
2天前
|
开发框架 .NET 编译器
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
|
12月前
|
C#
C#属性的get与set
C#属性的get与set
|
12月前
|
C#
对C#中set{} get{}的一点理解
对C#中set{} get{}的一点理解
基于C#的ArcEngine二次开发56:双击属性表跳转目标要素并闪烁
基于C#的ArcEngine二次开发56:双击属性表跳转目标要素并闪烁
基于C#的ArcEngine二次开发56:双击属性表跳转目标要素并闪烁
基于C#的ArcEngine二次开发54:IStatusBar状态栏接口的使用
基于C#的ArcEngine二次开发54:IStatusBar状态栏接口的使用
基于C#的ArcEngine二次开发54:IStatusBar状态栏接口的使用
|
NoSQL 数据处理 C#
基于C#的ArcEngine二次开发52:GDB数据处理过程中与Name相关的操作
基于C#的ArcEngine二次开发52:GDB数据处理过程中与Name相关的操作
基于C#的ArcEngine二次开发52:GDB数据处理过程中与Name相关的操作
|
NoSQL C#
基于C#的ArcEngine二次开发57:每用户订阅上的所有人SID 不存在
基于C#的ArcEngine二次开发57:每用户订阅上的所有人SID 不存在
|
定位技术 C# 图形学
基于C#的ArcEngine二次开发53: mxd与IPagelayout
基于C#的ArcEngine二次开发53: mxd与IPagelayout