Agregar campo (Gestión de datos)
Resumen
Agrega un nuevo campo a una tabla o la tabla de una clase de entidad, capa de entidades, catálogo de ráster o rásteres con tablas de atributos.
Uso
-
Las coberturas, las tablas independientes, las clases de entidades de geodatabases personales o de archivos y de ArcSDE, los archivos de capa, los catálogos de ráster y los shapefiles funcionarán como entradas válidas para este comando. Las superposiciones de datos de entidades CAD y VPF no funcionarán ya que son formatos de sólo lectura que no son nativos de ArcGIS.
-
En las coberturas, 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 campo agregado siempre se mostrará al final de la tabla.
-
El parámetro Longitud del campo sólo se aplica a los campos de tipo texto o blob.
-
Para las geodatabases, si el tipo de campo define un carácter o número, se inserta <nulo> en cada registro si se acepta el parámetro predeterminado Permitir campos nulos.
-
Los shapefiles no son compatibles con alias para campos, de manera que no puede agregar un alias de campo a un shapefile.
-
Sólo es posible agregar un campo no anulable a una tabla o clase de entidad de geodatabase vacía. Esta herramienta no puede agregar un campo que no sea anulable cuando ya existen filas.
-
El parámetro Dominio del campo puede utilizar un dominio existente en una clase de entidad en una geodatabase personal, de archivos o de SDE.
-
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, entonces 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 personales y de archivos sólo 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.
-
En el parámetro Dominio del campo, se debe especificar el nombre de un dominio existente. Introducir valores o nombres de dominio no válidos no generará un error en la herramienta pero se ignorarán y no se establecerá ningún dominio para el campo.
-
Los campos establecidos como REQUIRED son permanentes y no podrá eliminarlos en procesamientos futuros. Para permitir la eliminación más adelante, debe establecer el campo en NON_REQUIRED (la configuración predeterminada).
-
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
Parámetro | Explicación | Tipo 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 ArcSDE, geodatabases de archivos o personales, coberturas, shapefiles, catálogo de ráster, tablas independientes, rásteres con tablas de atributos y a capas. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
field_name |
El nombre del campo que se agregará a la tabla de entrada. | String |
field_type |
El tipo de campo utilizado en la creación del nuevo campo.
| String |
field_precision (Opcional) |
Describe la cantidad 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 personal o de archivos, se ignorará el valor de precisión del campo. | Long |
field_scale (Opcional) |
Establece el número de posiciones decimales almacenadas en un campo. Este parámetro sólo se utiliza en los campos de datos de tipo flotante y doble. Si la tabla de entrada es una geodatabase personal o 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 sólo puede aplicarse a campos de tipo texto o blob. | 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 sólo se aplica a geodatabases y coberturas. | String |
field_is_nullable (Opcional) |
Una entidad geográfica donde no hay información de atributos asociada. Son diferentes de los campos vacíos o cero y sólo son compatibles con los campos de una geodatabase.
| Boolean |
field_is_required (Opcional) |
Especifica si el campo creado es un campo obligatorio para la tabla; sólo compatible con los campos de una geodatabase.
| 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 |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta AddField en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data/airport.gdb" arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", "NULLABLE", "REQUIRED")
La siguiente secuencia de comandos 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 from arcpy import env # Set environment settings 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, "", "", fieldAlias, "NULLABLE") arcpy.AddField_management(inFeatures, fieldName2, "TEXT", "", "", fieldLength)