描述
将属性索引添加到现有表、要素类、shapefile 或属性关系类中。
ArcGIS 可使用属性索引快速查找与属性查询相匹配的记录。
使用方法
Shapefile 和文件地理数据库不支持多个索引,因此附加字段将成为复合索引的一部分(即,对表中的多个字段创建的索引)。
-
对于每个唯一索引名称,地理数据库都添加了一个新索引。如果某个索引名称已经存在,则必须先将其删除,然后才能对其进行更新。
对于尚未注册为版本的企业级地理数据库数据,可在 GlobalID 字段中添加唯一或非唯一索引。
Shapefile 或者文件地理数据库不支持唯一和升序索引。对 shapefile 或者文件地理数据库数据执行此工具时,这些参数将被忽略。
语法
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 (可选) | 指定索引中的值是否唯一。
| Boolean |
ascending (可选) | 指定是否按升序建立索引。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
out_table | 已更新的输入表。 | 表视图;栅格图层;镶嵌图层 |
代码示例
以下代码演示了如何在 Python 交互式窗口中使用 AddIndex 函数。
import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.AddIndex_management("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", "UNIQUE", "ASCENDING")
以下独立脚本演示了如何创建指定字段的属性索引。
# 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.AddIndex_management("counties.shp", ["NAME", "STATE_FIPS", "CNTY_FIPS"], "#", "NON_UNIQUE", "NON_ASCENDING")
arcpy.AddIndex_management("mexico.gdb/land/lakes", ["NAME", "geocompID"], "NGIndex", "NON_UNIQUE", "NON_ASCENDING")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是