Agregar campo (Administración de datos)

Resumen

Agrega un nuevo campo a una tabla o a la tabla de una clase de entidad o capa de entidades, así como a rásteres con tablas de atributos.

Uso

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • En los shapefiles y las tablas dBase, si el tipo de campo define un carácter, se insertan espacios en blanco para cada registro. Si el tipo de campo define un elemento numérico, se insertan ceros para cada registro.

  • El parámetro Longitud del campo solo se aplica a campos de tipo de texto. Si no se indica la longitud del campo, se utilizará una longitud de 255.

  • Para las geodatabases, si el tipo de campo define un carácter o un número, se inserta <null> en cada registro si se activa el parámetro El campo admite valores nulos.

  • No se pueden agregar campos no anulables a una tabla o clase de entidad de geodatabase no vacía.

  • Los shapefiles no son compatibles con alias para campos, de manera que no puede agregar un alias de campo a un shapefile.

  • Puede utilizar un dominio existente de una clase de entidad en una geodatabase para el valor del parámetro Dominio de campo. Se debe proporcionar el nombre de un dominio existente. Cuando proporcione valores o nombres de dominio no válidos no se generará un error en la herramienta, pero el valor o el nombre no válidos se ignorarán y no se establecerá ningún dominio para el campo.

  • La precisión y la escala de un campo representan el tamaño y la precisión máximos de los datos que se pueden almacenar en el campo. La precisión presenta la cantidad de dígitos que se pueden almacenar en el campo y la escala presenta la cantidad de espacios decimales para campos flotantes y dobles. Por ejemplo, para un valor de 54,234, la escala es 3 y la precisión es 5.

    Nota:

    La precisión y la escala del campo no son compatibles con una tabla o clase de entidad de geodatabase de archivos. Si proporciona un valor para la precisión o la escala, se ignorará.

    Para otros tipos de base de datos, utilice las siguientes pautas para elegir el tipo de campo correcto para una precisión y escala dadas:

    • Al crear un campo flotante o doble, y especificar una precisión y una escala, utilice un campo doble si la precisión es mayor que 6; de lo contrario, utilice uno flotante.
    • Para un campo con una escala de 0, utilice un tipo de campo entero largo o corto. Cuando crea un campo de tipo entero largo, especifique una precisión de 10 o menos; de lo contrario, su campo se creará como doble.

    Más información sobre los tipos de campo numéricos

  • Los campos obligatorios son permanentes y no se pueden eliminar. Para permitir la eliminación más adelante, defina el campo como no requerido (ajuste predeterminado).

  • Un campo de tipo ráster permite incluir una imagen ráster como atributo. Se almacena en la geodatabase o junto con ella. Esto es útil cuando una imagen es la mejor manera de describir una entidad. La precisión, la escala y la longitud no se pueden configurar para los campos de tipo ráster.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

La tabla de entrada a la que se agregará el campo especificado. El campo se agregará a la tabla de entrada existente y no creará una tabla de salida nueva.

Los campos se pueden agregar a clases de entidad de geodatabases, shapefiles, coberturas, tablas independientes, catálogos de ráster, rásteres con tablas de atributos y a capas.

Mosaic Layer; Raster Layer; Table View
Nombre de campo

El nombre del campo que se agregará a la tabla de entrada.

String
Tipo de campo

Especifica el tipo de campo del nuevo campo.

  • Corto (entero de 16 bits)El tipo de campo será corto. Los campos cortos admiten números enteros entre -32.768 y 32.767.
  • Largo (entero de 32 bits)El tipo de campo será largo. Los campos nuevos admiten número enteros entre -2.147.483.648 y 2.147.483.647.
  • Entero grande (entero de 64 bits)El tipo de campo será entero grande. Los campos de números enteros grandes admiten números enteros entre -(253) y 253.
  • Flotante (punto flotante de 32 bits)El tipo de campo será flotante. Los campos flotantes admiten números fraccionarios entre -3,4E38 y 1,2E38.
  • Doble (punto flotante de 64 bits)El tipo de campo será doble. Los campos dobles admiten números fraccionarios entre -2,2E308 y 1,8E308.
  • TextoEl tipo de campo será texto. Los campos de texto admiten una cadena de caracteres.
  • FechaEl tipo de campo será fecha. Los campos de fecha admiten fecha y hora.
  • Fecha (alta precisión)El tipo de campo será el de fecha de alta precisión. Los campos de fecha de alta precisión admiten valores de fecha y hora con tiempo en milisegundos.
  • Solo fechaEl tipo de campo será solo de fecha. Los campos de solo fecha admiten valores de fecha sin valores de hora.
  • Solo tiempoEl tipo de campo será solo de tiempo. Los campos de solo hora admiten valores de hora sin valor de fecha.
  • Desfase de marca de tiempoEl tipo de cambio será de desfase de marca de tiempo. Los campos de desplazamiento de fecha y hora admiten un valor de fecha, hora y desplazamiento con respecto a un valor UTC.
  • BLOB (datos binarios)El tipo de campo será BLOB. Los campos BLOB admiten datos almacenados como una secuencia larga de números binarios. Necesita un cargador o un visor personalizado, o una aplicación de terceros, para cargar elementos en un campo BLOB o para visualizar el contenido de un campo BLOB.
  • GUID (identificador único a nivel mundial)El tipo de campo será GUID. Los campos GUID almacenan cadenas de texto de estilo de registro que están compuestas por 36 caracteres encerrados entre paréntesis.
  • RásterEl tipo de campo será ráster. Los campos ráster pueden almacenar datos ráster dentro o junto con la geodatabase. Aunque se pueden almacenar todos los formatos de dataset ráster admitidos por el software de ArcGIS, se recomienda utilizar solamente imágenes pequeñas.
String
Precisión del campo
(Opcional)

Número de dígitos que se pueden almacenar en el campo. Se cuentan todos los dígitos, con independencia del lado de la coma en que se encuentren.

Este parámetro solo es aplicable a los tipos de campo numéricos.

Si la tabla de entrada se encuentra en una geodatabase de archivos, se ignorará el valor de precisión del campo.

Long
Escala del campo
(Opcional)

Número de posiciones decimales almacenadas en un campo.

Este parámetro solo se aplica a campos de tipo flotante o doble.

Si la tabla de entrada se encuentra en una geodatabase de archivos, se ignorará el valor de la escala del campo.

Long
Longitud del campo
(Opcional)

La longitud del campo. Esto establece el número máximo de caracteres permitidos para cada registro del campo. Si no se indica la longitud del campo, se utilizará una longitud de 255.

Este parámetro solo se aplica a campos de tipo de texto.

Long
Alias del campo
(Opcional)

Nombre alternativo del campo. Este nombre se utiliza para describir los nombres de campo crípticos. Este parámetro solo se aplica a geodatabases.

String
El campo admite valores nulos
(Opcional)

Especifica si el campo puede contener valores nulos. Los valores nulos son diferentes de los campos cero o vacíos y solo son compatibles con los campos de una geodatabase.

  • Activado: el campo puede contener valores nulos. Esta es la opción predeterminada.
  • Desactivado: el campo no puede contener valores nulos.
Boolean
El campo es obligatorio
(Opcional)

Especifica si el campo que se está creando es un campo obligatorio para la tabla. Los campos obligatorios solo son compatibles con las geodatabases.

  • Desactivada: el campo es obligatorio. Los campos obligatorios son permanentes y no se pueden eliminar.
  • Desactivada: el campo no es obligatorio. Esta es la opción predeterminada.
Boolean
Dominio del campo
(Opcional)

Limita los valores permitidos en cualquier atributo específico de una tabla, clase de entidad o subtipo en una geodatabase. Debe especificar el nombre de un dominio existente para que se aplique al campo.

String

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de entrada actualizada

La tabla de entrada actualizada.

Table

arcpy.management.AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
NombreExplicaciónTipo de datos
in_table

La tabla de entrada a la que se agregará el campo especificado. El campo se agregará a la tabla de entrada existente y no creará una tabla de salida nueva.

Los campos se pueden agregar a clases de entidad de geodatabases, shapefiles, coberturas, tablas independientes, catálogos de ráster, rásteres con tablas de atributos y a capas.

Mosaic Layer; Raster Layer; Table View
field_name

El nombre del campo que se agregará a la tabla de entrada.

String
field_type

Especifica el tipo de campo del nuevo campo.

  • SHORTEl tipo de campo será corto. Los campos cortos admiten números enteros entre -32.768 y 32.767.
  • LONGEl tipo de campo será largo. Los campos nuevos admiten número enteros entre -2.147.483.648 y 2.147.483.647.
  • BIGINTEGEREl tipo de campo será entero grande. Los campos de números enteros grandes admiten números enteros entre -(253) y 253.
  • FLOATEl tipo de campo será flotante. Los campos flotantes admiten números fraccionarios entre -3,4E38 y 1,2E38.
  • DOUBLEEl tipo de campo será doble. Los campos dobles admiten números fraccionarios entre -2,2E308 y 1,8E308.
  • TEXTEl tipo de campo será texto. Los campos de texto admiten una cadena de caracteres.
  • DATEEl tipo de campo será fecha. Los campos de fecha admiten fecha y hora.
  • DATEHIGHPRECISIONEl tipo de campo será el de fecha de alta precisión. Los campos de fecha de alta precisión admiten valores de fecha y hora con tiempo en milisegundos.
  • DATEONLYEl tipo de campo será solo de fecha. Los campos de solo fecha admiten valores de fecha sin valores de hora.
  • TIMEONLYEl tipo de campo será solo de tiempo. Los campos de solo hora admiten valores de hora sin valor de fecha.
  • TIMESTAMPOFFSETEl tipo de cambio será de desfase de marca de tiempo. Los campos de desplazamiento de fecha y hora admiten un valor de fecha, hora y desplazamiento con respecto a un valor UTC.
  • BLOBEl tipo de campo será BLOB. Los campos BLOB admiten datos almacenados como una secuencia larga de números binarios. Necesita un cargador o un visor personalizado, o una aplicación de terceros, para cargar elementos en un campo BLOB o para visualizar el contenido de un campo BLOB.
  • GUIDEl tipo de campo será GUID. Los campos GUID almacenan cadenas de texto de estilo de registro que están compuestas por 36 caracteres encerrados entre paréntesis.
  • RASTEREl tipo de campo será ráster. Los campos ráster pueden almacenar datos ráster dentro o junto con la geodatabase. Aunque se pueden almacenar todos los formatos de dataset ráster admitidos por el software de ArcGIS, se recomienda utilizar solamente imágenes pequeñas.

Aunque los valores de la propiedad type del objeto Field no sean una coincidencia exacta con las palabras clave utilizadas por el parámetro field_type de la herramienta Agregar campo, todos los valores type del objeto Field pueden usarse como entrada para este parámetro. Los diferentes tipos de campos se asignan de la siguiente manera: Integer a LONG, String a TEXT y SmallInteger a SHORT.

String
field_precision
(Opcional)

Número de dígitos que se pueden almacenar en el campo. Se cuentan todos los dígitos, con independencia del lado de la coma en que se encuentren.

Este parámetro solo es aplicable a los tipos de campo numéricos.

Si la tabla de entrada se encuentra en una geodatabase de archivos, se ignorará el valor de precisión del campo.

Long
field_scale
(Opcional)

Número de posiciones decimales almacenadas en un campo.

Este parámetro solo se aplica a campos de tipo flotante o doble.

Si la tabla de entrada se encuentra en una geodatabase de archivos, se ignorará el valor de la escala del campo.

Long
field_length
(Opcional)

La longitud del campo. Esto establece el número máximo de caracteres permitidos para cada registro del campo. Si no se indica la longitud del campo, se utilizará una longitud de 255.

Este parámetro solo se aplica a campos de tipo de texto.

Long
field_alias
(Opcional)

Nombre alternativo del campo. Este nombre se utiliza para describir los nombres de campo crípticos. Este parámetro solo se aplica a geodatabases.

String
field_is_nullable
(Opcional)

Especifica si el campo puede contener valores nulos. Los valores nulos son diferentes de los campos cero o vacíos y solo son compatibles con los campos de una geodatabase.

  • NULLABLEEl campo puede contener valores nulos. Esta es la opción predeterminada.
  • NON_NULLABLEEl campo no puede contener valores nulos.
Boolean
field_is_required
(Opcional)

Especifica si el campo que se está creando es un campo obligatorio para la tabla. Los campos obligatorios solo son compatibles con las geodatabases.

  • NON_REQUIREDEl campo no es obligatorio. Esta es la opción predeterminada.
  • REQUIREDEl campo es obligatorio. Los campos obligatorios son permanentes y no se pueden eliminar.
Boolean
field_domain
(Opcional)

Limita los valores permitidos en cualquier atributo específico de una tabla, clase de entidad o subtipo en una geodatabase. Debe especificar el nombre de un dominio existente para que se aplique al campo.

String

Salida derivada

NombreExplicaciónTipo de datos
out_table

La tabla de entrada actualizada.

Table

Muestra de código

Ejemplo de AddField 1 (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función AddField de modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.management.AddField("schools", "ref_ID", "LONG", 9, "", "", "refcode", 
                          "NULLABLE", "REQUIRED")
Ejemplo 2 de AddField (script independiente)

El siguiente script independiente muestra cómo utilizar la función AddField.

# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
fieldName1 = "ref_ID"
fieldPrecision = 9
fieldAlias = "refcode"
fieldName2 = "status"
fieldLength = 10

# Run AddField twice for two new fields
arcpy.management.AddField(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")

arcpy.management.AddField(inFeatures, fieldName2, "TEXT", 
                          field_length=fieldLength)

Temas relacionados