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

描述

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

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

使用方法

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

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

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

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

语法

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

已更新的输入表。

表视图;栅格图层;镶嵌图层

代码示例

AddIndex 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.AddIndex_management("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.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: 是

相关主题