Agregar campo (Administración de datos)

Resumen

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

Uso

  • 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 los campos de tipo de texto. Si no se especifica la longitud, la longitud predeterminada será 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 predeterminado Permitir campos nulos (se define como field_is_nullable="NULLABLE" en Python).

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

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

  • El parámetro Dominio del campo puede utilizar un dominio existente de una clase de entidad en una geodatabase. Se debe introducir un nombre de dominio existente. Introducir valores o nombres de dominio no válidos no 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 describen la precisión y el tamaño máximos de los datos que se pueden almacenar en el campo. La precisión describe la cantidad de dígitos que se pueden almacenar en el campo y la escala describe la cantidad de espacios decimales para campos flotantes y dobles. Por ejemplo, si el valor del campo es 54,234, la escala es = 3 y la precisión = 5.

    Utilice las siguientes pautas para elegir el tipo de campo correcto para una precisión y escala dadas:

    • Cuando crea un campo flotante, doble o entero y especifica "0" para precisión y escala, la herramienta intentará crear un tipo de campo binario si la base de datos subyacente lo admite. Las geodatabases solo admiten campos de tipo binario y se ignora la precisión y la escala.
    • Cuando crea campos flotantes y dobles, y especifica una precisión y una escala, si la precisión es mayor que 6, utilice un campo doble; de lo contrario, utilice uno flotante. Si crea un campo doble y especifica una precisión de 6 o menos, se crea un campo flotante. Si crea un campo flotante y especifica una precisión de 6 o menos, se crea un campo doble.
    • Si especifica una escala de 0 y una precisión de 10 o menos, creará campos enteros. Cuando crea campos enteros, la precisión debe ser de 10 o menos; de lo contrario, su campo se creará como doble.
  • Cuando crea un campo nuevo en una tabla o clase de entidad de geodatabase, puede especificar el tipo de campo, pero no la precisión y la escala. Incluso si el cuadro de diálogo le permite agregar un valor para precisión o escala, no se tendrá en cuenta durante la ejecución.

  • 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 tener una imagen ráster como atributo. Se almacena dentro o junto con la geodatabase. 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.

Sintaxis

AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
ParámetroExplicació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

Tipo de campo del nuevo campo.

  • TEXTCualquier cadena de caracteres.
  • FLOAT Números fraccionarios entre -3,4E38 y 1,2E38.
  • DOUBLE Números fraccionarios entre -2,2E308 y 1,8E308.
  • SHORT Números enteros entre -32.768 y 32.767.
  • LONG Números enteros entre -2.147.483.648 y 2.147.483.647.
  • DATEFecha y/u hora.
  • BLOBSecuencia larga de números binarios. Necesita un cargador o un visualizador personalizado, o una aplicación de terceros, para cargar elementos en un campo BLOB o para visualizar el contenido de un campo BLOB.
  • RASTERImágenes ráster. Todos los formatos de dataset ráster admitidos por el software de ArcGIS se pueden almacenar, pero es muy recomendable que se utilicen únicamente imágenes pequeñas.
  • GUIDIdentificador único a nivel mundial.
String
field_precision
(Opcional)

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

Si la tabla de entrada es 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 utiliza en los campos de datos de tipo flotante y doble.

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

Long
field_length
(Opcional)

La longitud del campo que se está agregando. Esto establece el número máximo de caracteres permitidos para cada registro del campo. Esta opción solo se aplica a los campos de tipo de texto.

Long
field_alias
(Opcional)

El nombre alternativo dado al nombre de campo. Este nombre se utiliza para dar nombres más descriptivos a los nombres de campos crípticos. El parámetro de alias de campo 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 vacíos o cero y solo son compatibles con los campos de una geodatabase.

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

Especifica si el campo que se está creando es un campo necesario para la tabla y solo es compatible con los campos de una geodatabase.

  • 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)

Se utiliza para limitar 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.

Tabla

Muestra de código

Ejemplo de AddField (ventana de Python)

El script de la ventana de Python muestra cómo utilizar la herramienta AddField en el modo inmediato.

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

El siguiente script independiente muestra cómo utilizar la herramienta 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
 
# Execute AddField twice for two new fields
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", field_length=fieldLength)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados