Cuando crea clases de entidad y tablas, debe seleccionar un tipo de datos para cada campo. Los tipos disponibles incluyen diversos tipos de números, tipos de texto, tipos de fecha, objetos binarios grandes (BLOB) o identificadores únicos a nivel mundial (GUID). La elección del tipo de datos correcto permite almacenar los datos adecuadamente y facilita las necesidades de análisis, de administración de datos y de negocios.
Los tipos de datos que se explican en este tema incluyen los tipos de datos disponibles al crear una clase de entidad o tabla con ArcGIS. Si almacena sus datos en una geodatabase o en una base de datos en un sistema de administración de bases de datos (DBMS), es posible que los tipos de datos de ArcGIS y el DBMS no coincidan directamente. Los tipos coinciden con el tipo de datos más cercano disponible en el DBMS. A este proceso se le llama asignación de tipo de datos. Es posible que en este proceso los valores se almacenen en el DBMS como un tipo diferente y apliquen un criterio distinto al atributo de datos. Como resultado, el tipo de datos que ve en las propiedades de la clase de entidad o la tabla en ArcGIS Pro puede diferir de lo que definió inicialmente.
Otros formatos de almacenamiento de datos, como los shapefiles o las tablas DBF, tienen diferentes limitaciones de tipo de datos. Asegúrese de conocer el tipo de datos y el tamaño de las limitaciones de su formato de almacenamiento de destino cuando mueva datos entre diferentes tipos de almacenamiento de datos.
Números
Puede almacenar números en uno de los cuatro tipos de datos numéricos:
- Entero corto
- Entero largo
- Flotante (números de punto flotante de precisión simple)
- Doble (números de punto flotante de precisión doble)
Al elegir el tipo de datos, considere la necesidad de los números enteros frente a los números fraccionarios. Si solo necesita almacenar números enteros, como 12 o 12.345.678, especifique si es un entero corto o largo. Si necesita almacenar números fraccionarios que tienen lugares decimales, como 0,23 o 1234,5678; especifique si es un flotante o un doble.
Cuando elija entre un entero corto y uno largo, o entre un flotante y un doble, elija el tipo de datos que ocupe el menor espacio de almacenamiento posible. De esta manera, no solo minimizará la cantidad de espacio de almacenamiento necesario, sino que también mejorará el rendimiento. Si solo necesita almacenar números enteros entre -32.768 y 32.767, especifique el tipo de datos entero corto, ya que solo requiere 2 bytes, mientras que el tipo de datos entero largo requiere 4. Si solo necesita almacenar números fraccionarios entre -3,4E38 y 1,2E38, especifique el tipo de datos flotante, ya que solo requiere 4 bytes, mientras que el tipo de datos doble requiere hasta 8. En la siguiente tabla aparecen lo tipos de datos, sus rangos y los requisitos de almacenamiento. Los rangos que aparecen son para geodatabases móviles y de archivos. Los rangos varían ligeramente entre las bases de datos y las geodatabases corporativas.
Tipo de datos | Rango de almacenamiento | Tamaño (bytes) | Aplicaciones |
---|---|---|---|
Entero corto | -32.768 a 32.767 | 2 | Valores numéricos sin valores fraccionales dentro de un rango específico; valores codificados |
Entero largo | -2.147.483.648 a 2.147.483.647 | 4 | Valores numéricos sin valores fraccionales dentro de un rango específico |
Flotante (número de punto flotante de precisión simple) | Aproximadamente -3,4E38 a 1,2E38 | 4 | Valores numéricos con valores fraccionales dentro de un rango específico |
Doble (número de punto flotante de precisión doble) | Aproximadamente -2,2E308 a 1,8E308 | 8 | Valores numéricos con valores fraccionales dentro de un rango específico |
Si está especificando campos numéricos para una tabla en una geodatabase móvil o de archivos, solo tendrá que indicar el tipo de datos. Si está especificando campos numéricos para una base de datos o una geodatabase corporativa, especifique también la precisión (la longitud máxima del campo) y la escala (el número máximo de posiciones decimales).
La especificación de la precisión y la escala permite restringir el rango de valores y los formatos de números que un campo puede aceptar, lo que brinda mayor control. Por ejemplo, si especifica un número de punto flotante con una precisión de 4 y una escala de 2, el campo aceptará 12,34. Si intenta introducir 12,345 en el campo, aparecerá un mensaje de error, ya que se supera el número máximo de dígitos y posiciones decimales permitidos. Por otro lado, si especifica un número de punto flotante con una precisión de 5 y una escala de 3, el campo le permitirá introducir 12,345.
En la siguiente tabla se encuentra una lista de los tipos de datos, su precisión posible y sus valores de escala. Utilice esta tabla como ayuda para elegir el tipo de datos, la precisión y la escala:
Tipo de datos | Precisión (longitud del campo) | Escala (posiciones decimales) |
---|---|---|
Entero corto* | 1–5 (Oracle, Microsoft SQL Server); 5 (IBM Db2); 1–4 (PostgreSQL) | 0 |
Entero largo | 6-10 (Oracle); 6-9 (Db2, SQL Server); 5-9 (PostgreSQL) | 0 |
Flotante | 1–6 | 1–6 |
Doble | Más de 7 | Más de 0 |
*De manera predeterminada en ArcGIS Pro, los enteros cortos se crean con una precisión de 5. Sin embargo, las columnas de enteros cortos solo pueden almacenar valores comprendidos en el rango de -32.768 a 32.767. Por tanto, no se puede almacenar un valor mayor que 32.767 o menor que -32.768 en un campo de entero corto aunque la precisión se defina como 5. No tiene por qué especificar la precisión de las columnas de enteros cortos creadas en ArcGIS Pro en ninguna base de datos excepto Oracle. No tiene por qué especificar la precisión de las columnas de enteros largos creadas en ArcGIS Pro en bases de datos de SQL Server o PostgreSQL.
En la siguiente tabla se proporcionan ejemplos de rangos de números y de cómo puede almacenarlos en una base de datos o en una geodatabase corporativa:
Intervalo | Tipo de datos | Precisión (longitud del campo) | Escala (posiciones decimales) |
---|---|---|---|
de 0 a 99 | Entero corto | 2 | 0 |
-99 a 99* | Entero corto | 3 | 0 |
-32.768 a 32.767* | Entero corto | 5 | 0 |
-99.999 a 99.999* | Entero largo | 5 | 0 |
0,001 a 0,999 | Flotante | 4 | 3 |
1.000,00 a 9.999,99 | Flotante | 6 | 2 |
-123.456,78 a 0* | Doble | 9 | 2 |
0 a 1,234.56789 | Doble | 9 | 5 |
*Los números negativos requieren precisión adicional para almacenar el signo negativo.
Los equipos sólo pueden almacenar una cantidad de dígitos limitada, según el espacio de almacenamiento asignado. Los campos del tipo de datos doble en bases de datos y geodatabases pueden almacenar con precisión números que contengan hasta un máximo de 15 dígitos, porque este es el número más largo que cabe en un espacio de almacenamiento de 8 bytes. Los números que tengan más dígitos se redondean y se almacenan en un formato similar a la notación científica, lo que los convierte en números aproximados. Por ejemplo, si introduce el número de 20 dígitos 12.345.678.901.234.567.890, se redondea y se almacena como el número de 15 dígitos 1,23456789012346E+19. El valor codificado del final, E+19, define la posición de la coma decimal.
Los valores flotantes de las geodatabases móviles o de archivos pueden almacenar con precisión números que contengan hasta un máximo de 6 dígitos. Por ejemplo, no puede almacenar el número 123.456,7 con precisión en un campo flotante porque este número contiene más de seis dígitos. Puede introducir el número en un campo de valores flotantes en una geodatabase de archivos, pero se redondeará a 123.457, un número que contiene los 6 dígitos permitidos. Si necesita almacenar este número con precisión, lo puede almacenar en un campo doble. Los campos flotantes de las bases de datos y las geodatabases corporativas no le permiten introducir más dígitos que la precisión del campo, de manera que no hay redondeo.
Texto
Un campo de texto representa una serie de símbolos alfanuméricos. Esto puede incluir nombres de calles, propiedades de atributos u otras descripciones textuales. Una alternativa para repetir atributos textuales en una geodatabase es establecer un valor codificado. Una descripción textual se codificará con un valor numérico. Por ejemplo, puede codificar tipos de carreteras con valores numéricos asignándole un 1 a las carreteras de pavimento mejoradas, un 2 a las carreteras de ripio, y así sucesivamente. Esto cuenta con la ventaja de que utiliza menos espacio de almacenamiento en la geodatabase; sin embargo, el usuario de los datos debe interpretar los valores codificados. Si define los valores codificados en un dominio de valor codificado en la geodatabase y asocia el dominio con el campo entero que almacena sus códigos, la geodatabase mostrará la descripción textual cuando se vea la tabla en ArcGIS Pro.
Más información sobre subtipos y dominios de atributo.
Los caracteres utilizados para el texto varían según el idioma. Para permitir que un texto se convierta más fácilmente entre idiomas, ArcGIS utiliza Unicode para codificar los caracteres.
Fechas
En el tipo de datos de fecha se pueden almacenar fechas, horas o fechas y horas. El formato predeterminado en el cual se presenta la información es mm/dd/aaaa hh:mm:ss y una especificación para a.m. o p.m. Cuando introduzca campos de fecha en la tabla a través de ArcGIS, se convierten a este formato.
BLOB
Un BLOB son datos almacenados como una secuencia larga de números binarios. En ArcGIS, las anotaciones y dimensiones se almacenan como BLOB y los elementos, como imágenes, multimedia o bits de código, se pueden almacenar en este tipo de campo. Es necesario que utilice 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.
Identificadores de objeto
ArcGIS mantiene el campo Id. de objeto y garantiza un Id. único para cada fila de la tabla. Cuando observa una tabla o la tabla de atributos de una capa, generalmente ve el campo de Id. de objeto bajo los alias OID u ObjectID en las tablas y FID en las capas. Las funciones clave, como los conjuntos de selección de desplazamiento y visualización, dependen de la presencia de este campo.
Cabe destacar que la mayoría de la funcionalidad de ArcGIS Pro, como el uso de la herramienta Identificar, requiere que Id. de objeto sea único. Por lo tanto, debe tener cuidado al trabajar directamente con la base de datos fuera de ArcGIS para que los Id. de objetos no se dupliquen. Por ejemplo, al crear vistas con una relación de uno a muchos, existe la posibilidad de que los ObjectID se dupliquen. Esto ocasionará un comportamiento incoherente en la funcionalidad de ArcGIS Pro.
Cuando se agrega una tabla de base de datos al mapa, es necesario un identificador de objeto. Si ArcGIS no puede encontrar un campo de enteros no nulo para utilizar como un identificador de objeto, se le solicitará que elija un campo que se va a utilizar como identificador de objeto. Consulte Seleccionar un campo de identificador único para una capa de consulta si desea obtener más información.
Identificadores globales
Los tipos de datos de Id. global y GUID almacenan cadenas de texto de estilo de registro que están compuestas por 36 caracteres encerrados entre paréntesis. Estas cadenas únicamente identifican una entidad o fila de tabla dentro de una geodatabase y en todas las geodatabases. Así es como se rastrean las entidades en la replicación de geodatabase unidireccional y doble. Los desarrolladores las pueden utilizar en las relaciones o en cualquier aplicación que requiera identificadores únicos a nivel mundial. En una relación, si un campo de Id. global es la clave de origen, la clave de destino debe ser un campo GUID. Puede agregar Id. globales a un dataset en una geodatabase usando la herramienta de geoprocesamiento Agregar Id. globales. A continuación, la geodatabase mantendrá estos valores automáticamente. También puede crear el campo GUID, pero debe mantener sus valores.
Las bases de datos con un tipo de datos GUID nativo, como SQL Server, almacenan valores de Id. global y GUID como 16 bytes. Las bases de datos que no tienen un tipo de datos GUID nativo las almacenan como 38 bytes.
Algunas notas sobre los ID globales
- Los campos GUID se pueden agregar a datasets de geodatabase utilizando la vista Campos o el comando Nuevo campo en la ventana de la tabla.
- Puede agregar Id. globales para clases de entidad independientes, tablas y clases de relación con atributos en geodatabases. No se pueden agregar Id. globales a datasets individuales de un dataset de entidades; solo se pueden aplicar a todo el dataset de entidades.
- No se pueden agregar Id. globales a las tablas de una base de datos.
- Si ya existe una columna de Id. global, la herramienta deja la columna antigua; no elimina la existente y agrega una nueva.
- Si agrega una clase de entidad a un dataset de entidades de una geodatabase y desea agregarle una columna de Id. global, deberá ejecutar la herramienta Agregar Id. globales en el dataset de entidades. Así se agrega una columna de Id. global a la nueva clase de entidad y a todas las clases de entidad que no tuviesen una columna de Id. global. Las clases de entidad que ya tienen una columna de Id. global permanecen sin cambios.
- Copiar y pegar, la extracción de datos y la exportación e importación de espacios de trabajo XML preservan los valores de ID global en la geodatabase de salida. Otros métodos de exportación e importación de datos no preservan estos valores.
Campos de tipo ráster
A diferencia de un hipervínculo que solo vincula el campo de una entidad a una imagen, un campo de tipo ráster puede almacenar los datos ráster dentro o junto con la geodatabase. Para obtener más información, consulte Agregar datasets ráster como atributos en una clase de entidad.
Nota:
Las geodatabases móviles no admiten columnas ráster; sin embargo, sí admiten el uso de adjuntos para asociar datos no geográficos como fotos o documentos a una entidad.Obtenga más información sobre cómo trabajar con las herramientas de geoprocesamiento de adjuntos.
Geometría
En ArcGIS, el tipo de datos geometría indica el tipo de geometría (punto, línea, polígono, multipunto o multiparche) que la tabla almacena. El campo almacenado como un tipo de geometría se llama SHAPE cuando se crea a través de ArcGIS.
El tipo de datos que utiliza ArcGIS es geometría. Por ejemplo, si elige Entidades poligonales para una clase de entidad nueva, el campo SHAPE agregado de manera predeterminada tendrá un tipo de datos de ArcGIS de geometría.
En la propiedad Tipo de geometría de la herramienta Crear clase de entidad, el tipo de geometría indicado será Polígono.
Si ha creado una clase de entidad con un tipo de entidad distinto (línea, punto, multipunto, multiparche, dimensión o anotación), el tipo de geometría para el campo SHAPE cambiará según corresponda (a línea, punto, multipunto, multiparche o polígono para dimensión y anotación).
Cuando se crea un campo de geometría en una clase de entidad de una base de datos o una geodatabase corporativa, hay otro tipo de datos que se debe tener en cuenta: el tipo de datos de la base de datos. La manera en que el valor del campo SHAPE se almacena en el DBMS depende del tipo de almacenamiento de geometría utilizado por el DBMS. Cuando crea una clase de entidad en una geodatabase corporativa, el tipo de almacenamiento de geometría que se utiliza viene determinado por el ajuste del parámetro GEOMETRY_STORAGE de la palabra clave de configuración que especifique. Cuando se crea una clase de entidad en una base de datos, se define el tipo espacial del campo en el parámetro Palabra clave de configuración en la sección Configuración de geodatabase de la herramienta Crear clase de entidad.