【问题标题】:selecting row among duplicated ones in VBA在VBA中的重复行中选择行
【发布时间】:2010-05-29 11:32:37
【问题描述】:

ArcGIS 9.3 Arcobject

我想在下面的字段中选择每个重复的 SID 的一行。 (形状文件的属性表)

优先级是 R > S = I > 0
因此,在 SID 87 中,将选择 FID1。
(SID 88,状态将为 S+I)
(将选择 SID 89、FID 6)

请告知 VBA 线运行选择,谢谢。

FID    SID    STATUS 
 1     87       R
 2     87       O
 3     88       I
 4     88       S
 5     89       I
 6     89       R      
 7     89       I
 8     89       S

【问题讨论】:

    标签: duplicates arcobjects


    【解决方案1】:

    这可能不是最佳方式,但您可以尝试以下方法:

    1. 使用带有空 QueryFilter 的 ITable.Search 打开表中所有行的游标。
    2. 创建一个 DataStatistics 对象,并将光标传递给 IDataStatistics.Cursor 属性。
    3. 使用 IDataStatistics.UniqueValues 属性获取表中唯一 SID 值的集合。
    4. 对于每个唯一的 SID 值,使用 ITable.Search 打开一个游标,其中包含具有该 SID 的所有行。
    5. 使用您描述的逻辑,确定应添加到特定 SID 选择中的行的 FID。
    6. 创建一个 SelectionSet 对象,将您的表设置为一个对象。使用 Add 方法添加单行或使用 AddList 方法将行列表添加到选择集中。
    7. 使用此 SelectionSet 设置 shapefile 的 IFeatureSelection.SelectionSet 属性。

    抱歉,因为我是新手,我无法发布帮助的超链接,但这里是 ArcObjects 9.3 的 VB6 帮助的起始页:

    http://resources.esri.com/help/9.3/arcgisengine/com_cpp/vb6_start.htm

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 1970-01-01
      • 2010-11-26
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 2012-02-13
      相关资源
      最近更新 更多