arcpy.management.AlterField(in_table, field, {new_field_name}, {new_field_alias}, {field_type}, {field_length}, {field_is_nullable}, {clear_field_alias})
|
名称
|
说明
|
数据类型
|
|
in_table
|
包含要更改的字段的输入地理数据库表或要素类。
|
Table View; Raster Layer; Mosaic Layer
|
|
field
|
要更改的字段的名称。 如果字段为必填字段,则将仅更改字段别名。
|
Field
|
|
new_field_name
(可选)
|
字段的新名称。
|
String
|
|
new_field_alias
(可选)
|
字段的新字段别名。
|
String
|
|
field_type
(可选)
|
指定字段的新字段类型。 仅在输入表为空(不包含记录)时,此参数才适用。
SHORT—此字段类型将为短整型。 短整型字段支持介于 -32,768 和 32,767 之间的整数。
LONG—此字段类型将为长整型。 长整型字段支持介于 -2,147,483,648 和 2,147,483,647 之间的整数。
BIGINTEGER—此字段类型将为大整型。 大整型字段支持 -(253) 和 253 之间的整数。
FLOAT—此字段类型将为浮点型。 浮点型字段支持介于 -3.4E38 和 1.2E38 之间的小数。
DOUBLE—此字段类型将为双精度型。 双精度型字段支持介于 -2.2E308 和 1.8E308 之间的小数。
TEXT—此字段类型将为文本类型。 文本字段支持字符串。
DATE—此字段类型将为日期类型。 日期字段支持日期和时间值。
DATEONLY—此字段类型仅限日期。 仅日期字段支持不带时间值的日期值。
TIMEONLY—此字段类型仅限时间。 仅时间字段支持不带日期值的时间值。
TIMESTAMPOFFSET—此字段类型将为时间戳偏移。 时间戳偏移字段支持日期、时间和相对于 UTC 值的偏移。
BLOB—此字段类型将为 BLOB。 BLOB 字段支持存储为长度较长的一系列二进制数的数据。 您需要一个自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
GUID—此字段类型将为 GUID。 GUID 字段可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。
RASTER—此字段类型将为栅格。 栅格字段格可在地理数据库中存储栅格数据或者将该数据与地理数据库一同存储。 可以存储 ArcGIS 软件支持的所有栅格数据集格式,但建议您仅使用小影像。
|
String
|
|
field_length
(可选)
|
字段的新长度。 它为字段的每条记录设置最大允许字符数。 此参数仅适用于 TEXT 或 BLOB 类型的字段。 如果表为空,则可以增大或减小字段长度。 如果表不为空,则只能从当前值开始增大长度。
|
Long
|
|
field_is_nullable
(可选)
|
指定该字段是否可包含空值。 空值仅适用于地理数据库中的字段。 仅在输入表为空(不包含记录)时,此参数才适用。
|
Boolean
|
|
clear_field_alias
(可选)
|
指定是否要清除输入字段的别名。 新字段别名参数必须为空才能清除字段的别名。
|
Boolean
|
派生输出
|
名称
|
说明
|
数据类型
|
|
out_table
|
更新的输入表。
|
Table View; Raster Layer; Mosaic Layer
|
代码示例
AlterField 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 AlterField 函数。
import arcpy
arcpy.management.AlterField(
r'C:\Data\Garbo.gdb\Khyber', 'Elev', 'ELEVATION', 'Elevation in Metres')
以下 Python 窗口脚本演示了如何在独立脚本中使用 AlterField 函数。
import arcpy
# Set workspace
arcpy.env.workspace = r'C:\Data\Garbo.gdb'
# Loop through feature classes looking for a field named 'elev'
fcList = arcpy.ListFeatureClasses() # Get a list of feature classes
for fc in fcList: # Loop through feature classes
fieldList = arcpy.ListFields(fc) # Get a list of fields for each feature class
for field in fieldList: # Lloop through each field
if field.name.lower() == 'elev': # Look for the name elev
arcpy.management.AlterField(fc, field.name, 'ELEVATION', 'Elevation in Metres')
以下 Python 窗口脚本演示了如何对独立脚本中的空要素类使用 AlterField 函数。
import arcpy
# Set local variables
in_table = "C:/Data/Garbo.gdb/trails" # Note: empty feature class
field = "condition_rating" # short int, non nullable field
new_field_name = "notes"
new_field_alias = "Comments on Trail Condition"
field_type = "TEXT"
field_length = 60
field_is_nullable = "NULLABLE"
clear_field_alias = "FALSE"
# Alter the properties of a non nullable, short data type field to become a text field
arcpy.management.AlterField(in_table,
field,
new_field_name,
new_field_alias,
field_type,
field_length,
field_is_nullable,
clear_field_alias)