中国地图
GIS探索者
地图网
GIS论坛
网站首页| GIS论坛 |新闻动态 | 技术专栏 | GIS书籍 | 资源下载 | 求职招聘 | 研究生考试 | GIS博客 | GIS空间站
欢迎光临GIS空间站!   网站地图
  专栏导航:| ArcGIS | MapInfo | TopMap | 地理信息 | 遥感 | GPS | 测绘 | WebGIS | LBS | 前沿 | 数据库 | 开发 | 行业应用
  推荐栏目:| AO开发 | 业界动态 | GIS资源 | 招聘信息 | 求职简历 | 共享软件 | 电子书籍 | 研究生考题 | 电子期刊 | GIS论文
您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> 文章正文

用来获取图层中指定字段上的属性的Unique Value

作者:兔八哥    文章来源:GIS空间站    点击数:    更新时间:2006-7-1
 
在ArcMap中,进行属性查询的时候,Arcmap中提供了选中字段的属性的Unique Value。这样就可以从列表中选择了。以前也遇到类似问题,一直不知道怎么做,好在当时使用的ArcSDE Oracle数据,使用了一个SQL语句解决了。不过要是Coverage就没有办法了。其实AO中提供了这样的功能了,可通过IDataStatistics来实现,下面是今天中午的成果,做了一个函数,参数为图层和字段,返回该图层该字段的所有Unique Value
'下面程序段是用来列出ArcMap中,指定图层和字段中,所有Unique Value 2003年5月19日 兔八哥
Public Function listUniqueValue(pLayer As IFeatureLayer, pFieldName As String) As String()

 Dim pCursor As Icursor
 Set pCursor = pLayer.Search(Nothing, False)

 Dim pDataStat As IDataStatistics
 Dim pValue As Variant

 Set pDataStat = New DataStatistics
 pDataStat.Field = pFieldName
 Set pDataStat.Cursor = pCursor

 Dim pEnumVar As IEnumVariantSimple
 Set pEnumVar = pDataStat.UniqueValues

 pValue = pEnumVar.Next

 Dim I As Long
 'Dim count As Long
 'count = pDataStat.UniqueValueCount

 I = 0
 Dim value(200) As String '数组的长度按说应该使用pDataStat.UniqueValueCount来控制,但是编译只能使用
              '常数,不能使用变量
 Do Until IsEmpty(pValue)
  value(I) = pValue
  I = I + 1
  pValue = pEnumVar.Next
 Loop
 listUniqueValue = value()

End Function

(说明:该函数兔八哥只在ArcMap VBA中运行过,没有问题,VB+AO没有尝试过)

文章录入:gissky    责任编辑:gissky  发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
■■相 关 图 书:
■■相 关 文 章:
  • Windows Vista下安装 ArcGis 9.2 的解决方法

  • vista下安装ArcGis9.2的解决办法

  • 《ArcGIS二次开发编程实例》

  • 利用InstallShiled制作AE开发的应用程序的安装包

  • 将shp转化为geodatabase

  • AO 入门秘籍

  • ArcGIS中图象配准经验总结

  • 上一篇文章:

  • 下一篇文章:
  •  
    GIS博客精华
    热点文章
    热门资源
     
    关于我们 | 联系我们 | 广告服务 | 友情链接 | 申请链接 | 合作联盟 | 诚聘英才
      GIS空间站(GISSky.Net)版权所有 站长:兔八哥