添加属性索引 (数据管理)

摘要

将属性索引添加到现有表、要素类、shapefile 或属性关系类中。

ArcGIS 可使用属性索引快速查找与属性查询相匹配的记录。

使用情况

  • Shapefile 和文件地理数据库不支持多个索引。 附加字段将成为复合索引的一部分(即,对表中的多个字段创建的索引)。

  • 将为地理数据库中的每个唯一索引名称添加一个新索引。 如果索引名称已存在,则必须先将其删除,然后才能对其进行更新。

  • 对于尚未注册为版本的企业级地理数据库数据,可向 GlobalID 字段添加唯一或非唯一索引。

  • Shapefile 或者文件地理数据库不支持唯一和升序索引。 对 shapefile 或者文件地理数据库数据运行此工具时,这些参数将被忽略。

参数

标注说明数据类型
输入表

包含要创建索引的字段的表。

Mosaic Layer; Raster Layer; Table View
要建立索引的字段

将创建索引的字段列表。 可以指定任意数量的字段。

Field
索引名称
(可选)

新索引的名称。 向地理数据库要素类和表添加索引时,必须指定索引名称。 对于其他类型输入,可以忽略名称。

String
唯一值
(可选)

指定索引中的值是否唯一。

  • 未选中 - 索引中的值不唯一。 这是默认设置。
  • 选中 - 索引中的所有值都唯一。

Boolean
升序
(可选)

指定是否按升序创建值的索引。

  • 未选中 - 不按升序创建值的索引。 这是默认设置。
  • 选中 - 将按升序创建值的索引。

Boolean

派生输出

标注说明数据类型
更新的输入表

已更新的输入表。

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
名称说明数据类型
in_table

包含要创建索引的字段的表。

Mosaic Layer; Raster Layer; Table View
fields
[fields,...]

将创建索引的字段列表。 可以指定任意数量的字段。

Field
index_name
(可选)

新索引的名称。 向地理数据库要素类和表添加索引时,必须指定索引名称。 对于其他类型输入,可以忽略名称。

String
unique
(可选)

指定索引中的值是否唯一。

  • NON_UNIQUE索引中的值不唯一。 这是默认设置。
  • UNIQUE索引中的所有值均唯一。
Boolean
ascending
(可选)

指定是否按升序创建值的索引。

  • NON_ASCENDING不按升序创建值的索引。 这是默认设置。
  • ASCENDING将按升序创建值的索引。
Boolean

派生输出

名称说明数据类型
out_table

已更新的输入表。

Table View; Raster Layer; Mosaic Layer

代码示例

AddIndex 示例 1(Python 窗口)

以下代码演示了如何在 Python 交互式窗口中使用 AddIndex 函数。

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.management.AddIndex("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", 
                          "UNIQUE", "ASCENDING")
AddIndex 示例 2(独立脚本)

以下独立脚本演示了如何为指定字段创建属性索引。

# Name: AddAttIndex.py
# Description: Create an attribute Index for specified fields

# Import system modules
import arcpy

# Set a default workspace
arcpy.env.workspace = "c:/data"

# Create an attribute index for the few fields listed in command.
arcpy.management.AddIndex("counties.shp", ["NAME", "STATE_FIPS", "CNTY_FIPS"], 
                          "#", "NON_UNIQUE", "NON_ASCENDING")
arcpy.management.AddIndex("mexico.gdb/land/lakes", ["NAME", "geocompID"], 
                          "NGIndex", "NON_UNIQUE", "NON_ASCENDING")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题