ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Tipos de datos Oracle compatibles con ArcGIS

  • Tipos de datos de texto
  • Tipos de geometría
  • Tipo de datos Ráster
  • BLOB

Cuando crea una tabla o agrega una columna a una tabla de una base de datos, define un tipo de datos específico para la columna. Los tipos de datos determinan lo siguiente:

  • Qué valores puede almacenar en la columna
  • Qué operaciones puede utilizar en los datos de la columna
  • Cómo se almacenan los datos de la columna en la base de datos

ArcGIS funciona con tipos de datos específicos. Cuando accede a una tabla de base de datos a través de una Conexión de base de datos o una capa de consulta, ArcGIS filtra todos los tipos de datos no compatibles. ArcGIS no mostrará los tipos de datos no compatibles, por lo que no podrá editarlos a través de ArcGIS. De igual modo, cuando utiliza ArcGIS para copiar y pegar tablas que contienen tipos de datos no compatibles de una base de datos a otra, ArcGIS solo pega las columnas que utilizan un tipo de datos compatible.

La primera columna de la tabla siguiente enumera los tipos de datos de ArcGIS. En la segunda columna hay una lista de los Oracle tipos de datos que crea ArcGIS. La tercera columna muestra qué otros Oracle tipos de datos (si hay alguno) se asignan al tipo de datos de ArcGIS cuando ve una tabla creada fuera de ArcGIS. La última columna ofrece información adicional cuando es necesario.

Tipos de datos de ArcGISTipos de datos de Oracle creadosOtros tipos de datos Oracle que se pueden visualizarNotas

BLOB

BLOB

DATE

TIMESTAMP

DATE

DOUBLE

NUMBER(38,8)

NUMBER(p,s)

La precisión y la escala especificadas en ArcGIS pueden afectar a los tipos de datos resultantes creados en la base de datos. Consulte Tipos de datos de campo de ArcGIS para obtener más información.

FLOAT

NUMBER(38,8)

NUMBER(p,s)

La precisión y la escala especificadas en ArcGIS pueden afectar a los tipos de datos resultantes creados en la base de datos. Consulte Tipos de datos de campo de ArcGIS para obtener más información.

GEOMETRÍA

ST_GEOMETRY, NUMBER(38), or SDO_GEOMETRY

El tipo de datos de Oracle que se crea depende del almacenamiento de geometría especificado al crear la clase de entidad. Binario comprimido o binario conocido (solo para geodatabases) = NUMBER(38); Oracle Spatial = SDO_GEOMETRY; tipo espacial = ST_GEOMETRY.

Para usar ST Geometry en una base de datos (no una geodatabase), debe instalarlo.

GLOBAL ID

CHAR or NCHAR (UUID LEN)

Solo se admite en las geodatabases.

El campo de identificador único se creará como NCHAR si la palabra clave de configuración que especificó en la creación de la tabla tenía el parámetro UNICODE_STRING configurado en TRUE.

GUID

CHAR or NCHAR (UUID LEN)

El campo de identificador único se creará como NCHAR en una geodatabase corporativa si la palabra clave de configuración que se especificó en la creación de la tabla tenía el parámetro UNICODE_STRING definido como TRUE.

LONG INTEGER

NUMBER(38)

NUMBER (n)

El valor n puede estar en el rango de 5 a 10. Si se ha creado con ArcGIS Desktop o con ArcObjects y la precisión se ha definido como 0, se crea un NUMBER(38) en la base de datos. De lo contrario, se utiliza la precisión especificada.

OBJECT ID

NÚMERO(38) cuando se crea en una geodatabase corporativa

NÚMERO(38) con secuencia y desencadenador cuando se crea en las siguientes circunstancias:

  • Utiliza Oracle 11g.
  • Registra una tabla de base de datos de Oracle 12c existente con la geodatabase.

NUMBER(38) se genera siempre como identidad al usar ArcGIS para crear una clase de entidad o una tabla en una base de datos Oracle 12c o se utiliza la herramienta de geoprocesamiento Agregar campo Id. en aumento para agregar un campo de Id. en una tabla de una base de datos Oracle 12c.

El tipo de ArcGIS ObjectID es la columna de Id. de fila registrada de la tabla (o clase de entidad). Solo puede haber una por tabla.

RASTER

RASTERBLOB, BLOB, or ST_RASTER

Los rásteres solo son compatibles con las geodatabases. El tipo de datos que se usa en el campo de ráster depende de la palabra clave de configuración que especifique al crear un dataset de mosaico o un dataset ráster.

SHORT INTEGER

NUMBER(5)

NUMBER(n)

El valor n puede estar en el rango de 1 a 5. Sin embargo, las columnas de enteros cortos solo pueden almacenar valores comprendidos en el rango de -32.768 a 32.767. Incluso si la precisión para el número es 5, no se puede almacenar un número mayor que 32.767 o menor que -32.768 en una columna de enteros cortos.

Cuando se crea con ArcGIS Desktop, n = 5. Esto permite almacenar enteros cortos que están dentro del rango permitido.

TEXTO

VARCHAR2, CLOB, NVARCHAR2 o NCLOB

Tipos de datos de texto

Si elige incluir un campo de texto en la tabla que crea con ArcGIS, se usará el tipo de datos VARCHAR2 cuando la base de datos no se configure para utilizar la codificación Unicode. Si se define un tamaño de campo de texto superior a 4000 y la base de datos no se ha configurado de modo que use la codificación Unicode, el tipo de datos de Oracle es CLOB.

Un campo de texto se creará como NVARCHAR2 si la base de datos se ha definido de modo que use la codificación Unicode. (Esta es la configuración predeterminada para las geodatabases en Oracle.) Si se define un tamaño de campo de texto superior a 2000 y la base de datos se ha configurado de modo que use la codificación Unicode, el tipo de datos de Oracle será NCLOB.

Tipos de geometría

Como se indica en la tabla, ArcGIS crea y puede trabajar con tres tipos de geometría en Oracle: Esri ST_Geometry, Oracle SDO_Geometry y binario comprimido. El almacenamiento de geometría binario comprimido solamente puede usarse en geodatabases.

ST_Geometry

La siguiente es una descripción general del tipo de datos espaciales ST_Geometry. Para obtener información específica de la implementación de Oracle, consulte ST_Geometry en Oracle.

El tipo de dato ST_Geometry implementa la especificación SQL 3 de los tipos de datos definidos por el usuario (UDT), lo que permite crear columnas capaces de almacenar datos espaciales como la ubicación de un hito, una calle o una parcela de tierra. Proporciona acceso de lenguaje estructurado de consultas (SQL) compatible con la Organización Internacional para la Estandarización (ISO) y con Open Geospatial Consortium, Inc. (OGC) a la geodatabase y a la base de datos. Este almacenamiento amplía las capacidades de la base de datos proporcionando almacenamiento para objetos (puntos, líneas y polígonos) que representan entidades geográficas. Se diseñó para utilizar de un modo eficiente los recursos de las bases de datos, para ser compatible con funciones de base de datos como la replicación y la partición y para brindar un acceso rápido a los datos espaciales.

Aunque puede definir una columna como tipo ST_Geometry, no puede insertar valores ST_Geometry en la columna ya que no se pueden crear instancias. En su lugar, debe insertar los valores de las subclases.

ST_Geometry en sí misma es una superclase abstracta sin instancias creadas. Sin embargo, se pueden crear. La creación de una instancia de tipo de datos se puede definir como una columna de tabla y posee valores de su tipo insertados en ella.

El siguiente gráfico muestra la jerarquía del tipo de datos ST_Geometry y las subclases.

Las subclases de ST_Geometry se dividen en dos categorías: las subclases de geometría base y las subclases de colecciones homogéneas. Las geometrías base incluyen ST_Point, ST_LineString y ST_Polygon, mientras que los conjuntos homogéneos incluyen ST_MultiPoint, ST_MultiLineString y ST_MultiPolygon. Como lo indica su nombre, los conjuntos homogéneos son conjuntos de geometrías base. Además, para compartir las propiedades de geometría base, los conjuntos homogéneos poseen algunas de sus propias propiedades.

Cada subclase almacena el tipo de geometría que implica su nombre; por ejemplo, ST_MultiPoint almacena multipuntos. Una lista de las subclases y sus descripciones se encuentra en la siguiente tabla:

SubtipoDescripción

ST_Point

  • Geometría de dimensión cero que ocupa una ubicación simple en un espacio de coordenadas.
  • Posee un valor de coordenada x, y, siempre es simple y tiene un límite NULL.

ST_LineString

  • Objeto de una sola dimensión almacenado como secuencia de puntos que definen una ruta interpolada lineal.
  • El tipo ST_LineStrings tiene longitud.
  • El tipo ST_LineString es simple si no se interseca con el interior.
  • Los extremos (el límite) de un tipo ST_LineString cerrado ocupan el mismo punto en el espacio.
  • Un tipo ST_LineString es un anillo si es cerrado y simple.
  • Los extremos normalmente forman el límite de un tipo ST_LineString a menos que éste sea cerrado, en cuyo caso el límite es NULL.
  • El interior de un tipo ST_LineString es la ruta conectada que está comprendida entre los extremos, a menos que esté cerrada; en cuyo caso el interior es continuo.

ST_Polygon

  • Superficie de dos dimensiones almacenada como secuencia de puntos que definen el anillo de delimitación exterior y cero o más anillos interiores.
  • El tipo ST_Polygon posee área y siempre es simple.
  • La parte exterior y los anillos interiores definen el límite de un tipo ST_Polygon y el espacio cerrado entre los anillos define el interior de ST_Polygon.
  • Los anillos de un tipo ST_Polygon pueden intersecarse en un punto tangente pero nunca cruzarse.

ST_MultiPoint

  • Conjunto de ST_Points.
  • Tiene una dimensión de 0.
  • El tipo ST_MultiPoint es simple si ninguno de sus elementos ocupa el mismo espacio de coordenadas.
  • El límite de un ST_MultiPoint es NULL.

ST_MultiLineString

  • Conjunto de ST_LineStrings.
  • El tipo ST_MultiLineStrings tiene longitud.
  • Los tipos ST_MultiLineStrings son simples si solo se intersecan en los extremos de los elementos de ST_LineString.
  • Los tipos ST_MultiLineStrings no son simples si los interiores de los elementos de ST_LineString se intersecan.
  • El límite de un ST_MultiLineString son los extremos no intersecados de los elementos de ST_LineString.
  • El tipo ST_MultiLineString es cerrado si todos los elementos de ST_LineString son cerrados.
  • El límite de un ST_MultiLineString es NULL si todos los extremos de todos los elementos se intersecan.

ST_MultiPolygon

  • Conjunto de polígonos.
  • El tipo ST_MultiPolygons tiene área
  • El límite de un ST_MultiPolygon es la longitud acumulativa del anillo exterior e interior de sus elementos.
  • El interior de un tipo ST_MultiPolygon se define como los interiores acumulados de su elemento ST_Polygons.
  • El límite de los elementos de un tipo ST_MultiPolygon solo se puede intersecar en un punto tangente.

Subtipos ST_Geometry

SDO_Geometry

SDO_Geometry se implementa mediante el sistema de tipo de objeto relacional extensible de Oracle. Oracle ofrece el tipo SDO_Geometry con dos opciones primarias:

  • Oracle Spatial es un componente opcional de Oracle Database Enterprise Edition. Además de proporcionar el tipo SDO_Geometry, Oracle Spatial brinda una cantidad de capacidades geoespaciales adicionales.
  • Oracle Locator brinda un subconjunto de capacidades de Oracle Spatial. Se incluye como un componente estándar de las ediciones Oracle Database Standard y Enterprise. Entre otras capacidades, proporciona el tipo de geometría de Oracle Spatial (al que se denomina SDO_Geometry) y una API de SQL a este contenido.

ArcGIS admite SDO_Geometry como método opcional para almacenar datos espaciales. Específicamente, la geometría de Oracle Spatial o Locator se puede utilizar para almacenar y administrar el contenido de entidad y ráster de datasets dentro de las geodatabases corporativas o las bases de datos Oracle.

SDO_Geometry almacena información acerca de una geometría que incluye el tipo de geometría, el Id. de referencia espacial, el tipo de interpolación (recto frente a curvado) y los valores de coordenadas. El tipo SDO_Geometry en geodatabases es compatible con la geometría de punto, línea y área única o multiparte. Las geometrías se pueden describir como con una interpolación lineal entre coordenadas según se define en OpenGIS Simple Feature Specification. Las geometrías también se pueden crear a partir de curvas circulares o una combinación de ambos métodos de interpolación. Los programas de aplicación son responsables de insertar, actualizar y recuperar correctamente el contenido del tipo SDO_Geometry mediante una interfaz de SQL relacional de objeto de Oracle. Las aplicaciones también son responsables de asegurar que el contenido de cada geometría se ajuste a las reglas definidas en la documentación de Oracle Spatial. Oracle brinda rutinas de validación de geometría que se pueden ejecutar después de insertar las geometrías. Además, a partir de Oracle 11.1.0.7, la geometría se valida en inserciones de índices.

Nota:

Las rutinas de validación de geometría de Oracle no implementan precisamente el mismo conjunto de reglas que la validación de geometría de ArcGIS. Sin embargo, ArcGIS está diseñado para escribir SDO_Geometry, que cumple con las reglas de validación de Oracle.

Se debe registrar la información acerca de cada columna SDO_Geometry en el esquema de metadatos de Oracle Spatial, aunque Oracle Spatial no hace esto automáticamente. (El esquema de metadatos de Oracle Spatial se expone para cada esquema como la vista USER_SDO_GEOM_METADATA). El software que crea las columnas SDO_Geometry debe insertar los metadatos correspondientes a esas columnas. ArcGIS hace esto con todas las clases de entidad SDO_Geometry que crea. Los metadatos contienen el nombre de columna espacial, el nombre de la tabla en la que reside y del propietario, el Identificador de referencia de Oracle Spatial (SRID), el número de dimensiones, el rango de cada dimensión y la tolerancia de coordenadas.

Los índices espaciales brindan un acceso rápido a entidades basado en la ubicación de la geometría. Para SDO_Geometry, los índices espaciales de árbol R son en general los más eficientes y fáciles de crear; Oracle recomienda su uso en la mayoría de las situaciones. Oracle Spatial brinda la utilidad Spatial Index Advisor para ayudar a determinar el mejor tipo de índice espacial para una tabla determinada. Además, consulte la referencia y la guía del usuario de Oracle Spatial para obtener información detallada acerca de los tipos de índices espaciales admitidos, cómo crearlos, y las ventajas y desventajas de los diferentes métodos de índice espacial.

Oracle Spatial extiende SQL con funciones espaciales de búsqueda para el filtrado primario y secundario. Al incluir la función SDO_FILTER en una consulta SQL, se realiza una búsqueda espacial primaria con el índice espacial. Los predicados espaciales, como SDO_RELATE y SDO_CONTAINS, devuelven relaciones secundarias entre pares de objetos SDO_Geometry. Oracle Spatial tiene funciones espaciales de transformación que cambian la forma de un valor SDO_Geometry. Por ejemplo, la función SDO_BUFFER calcula las coordenadas de un nuevo objeto SDO_Geometry como un polígono de zona de influencia a una distancia determinada alrededor de la geometría original. Entre las demás funciones espaciales de transformación, se incluyen las siguientes: SDO_DIFFERENCE y SDO_INTERSECTION.

Oracle Spatial brinda acceso a una cantidad de sistemas de referencia de coordenadas predefinidos mediante un valor SRID. El valor SRID, almacenado en el objeto SDO_Geometry, especifica la referencia de coordenadas correspondiente a la geometría almacenada en ese objeto. Si no es NULL, el SRID del objeto SDO_Geometry es una clave externa en una tabla que contiene detalles acerca de cada SRID. Esta tabla es MDSYS.CS_SRS. La función SDO_TRANSFORM utiliza el ID de referencia espacial para establecer las transformaciones de referencia de coordenadas. ArcGIS también utiliza esta información para crear referencias espaciales.

Binario comprimido

El tipo de almacenamiento binario comprimido de Esri utiliza un mecanismo de almacenamiento binario para almacenar la geometría de entidades. Una clase de entidad de almacenamiento binario comprimido consta de tres tablas: negocios, entidades e índice espacial.

Tras comprobar la geometría, la aplicación cliente la comprime y envía a la geodatabase, donde se almacena en formato binario comprimido en una tabla de entidades o tabla F. Comprimir la geometría en el cliente descarga la tarea del servidor de base de datos y reduce el tiempo de transmisión para enviar la geometría. También ofrece un almacenamiento y una recuperación de datos espaciales eficaces al reducir el espacio necesario para almacenar datos en un 40 por ciento.

La tabla de negocios contiene atributos y una columna espacial. La columna espacial es una clave para las tablas de índices de entidad y espacial.

La relación entre la tabla de negocios y la tabla de entidades se administra a través de la columna espacial y la columna del Id. de entidad o FID. Esta clave, que se conserva en ArcGIS, es única.

Tipo de datos Ráster

Puede usar BLOB o ST_Raster para las columnas ráster de datasets ráster y de datasets de mosaico.

Los datasets ráster y datasets de mosaico creados con una palabra clave de configuración que contenga el parámetro RASTERCOLUMN establecido en RASTERBLOB o BLOB crean columnas BLOB. Cuando se utiliza la configuración de RASTERBLOB, la columna BLOB se crea directamente en la tabla de negocios; cuando se utiliza BLOB, la columna BLOB se crea en una tabla paralela. Consulte la sección BLOB de este tema para obtener información sobre BLOB en Oracle.

En la subsección siguiente se describe el tipo de datos ST_Raster.

ST_Raster

ST_Raster es un tipo de datos definido por el usuario que puede instalar en geodatabases corporativas para proporcionar acceso SQL a los datos ráster.

Para utilizar ST_Raster, debe configurarlo en la geodatabase.

Para obtener información más detallada sobre cómo se define el tipo de objeto ST_Raster, consulte El tipo de datos ST_Raster.

BLOB

BLOB es un acrónimo industrial del sistema de administración de bases de datos (DBMS) para objeto binario grande. Las columnas BLOB se implementaron hace varios años por parte de Oracle Corporation para reemplazar la tecnología LONG RAW para el almacenamiento de datos binarios.

La arquitectura del tipo de datos BLOB se divide en tres componentes básicos: la columna BLOB, el segmento LOB y el índice LOB. La columna BLOB almacena el localizador LOB (36 bytes) y los datos binarios en fila si son inferiores a 3.965 bytes y el almacenamiento en filas no se ha deshabilitado para la columna.

Nota:

Las pruebas realizadas por Esri demuestran que permitir un almacenamiento en filas ofrece mejor rendimiento, por lo que se le recomienda que no deshabilite dicho almacenamiento.

Si los datos binarios superan los 3.964 bytes, no se asigna el espacio de almacenamiento en filas de la columna BLOB y el localizador LOB se basa en los datos binarios almacenados en el segmento LOB.

Por lo tanto, el valor almacenado en una columna BLOB con el almacenamiento en filas habilitado es siempre de 36 bytes como mínimo (el espacio asignado al localizador LOB) y deberá tener el tamaño de 4.000 bytes (el espacio combinado asignado al localizador LOB y el espacio máximo que puede asignarse a los datos binarios almacenados en filas).

El segmento LOB se divide en dos tramos. Los tramos deben ser un múltiple del tamaño de bloque de datos de Oracle. Por ejemplo, si el tamaño de bloque de datos es de 8K, el segmento LOB puede crearse con un tamaño mínimo de trama de 8K. Si la longitud de los datos almacenados en el segmento LOB es de 5.000 bytes, se almacenan en el segmento LOB puesto que supera los 3.964 bytes y el tamaño de la trama es de 8K ó 8.192 bytes. En este caso, 3.192 bytes de la trama del segmento LOB permanece sin utilizar. La transferencia de datos de LONG RAW a BLOB puede provocar que se requiera más espacio—quizás hasta un incremento del 30 por ciento debido al espacio sin utilizar en el segmento LOB. Esto resulta inevitable si sus datos superan el umbral de almacenamiento en filas de 3.964 bytes de la columna BLOB.

El tamaño de trama de 8K experimenta el mejor rendimiento de E/S a la vez que ocupa el mínimo espacio. El tamaño de trama de 16K ocupa más espacio que el tamaño de trama de 8K. Por lo tanto, para evitar la pérdida de espacio, se recomienda que vuelva a crear la base de datos que actualmente tiene un tamaño de bloque de datos de 16K por un tamaño de bloque de datos de 8K o, si esto no es posible, que cree segmentos LOB en espacios de tabla que se han creado con un tamaño de bloque de 8K. Para hacerlo, deberá asignar una caché en búfer de 8K en el Área Global del Sistema de Oracle (SGA).

Se ha demostrado que los tamaños de trama de 4K y 2K ocupan menos espacio, pero el aumento del coste de E/S no garantiza su uso.

El índice LOB solo se utiliza si el número de tramas tratados por el localizador LOC supera 12; de lo contrario, las primeras 12 tramas son tratadas por el localizador LOB.

Las tres siguientes figuras ilustran los tres casos posibles de almacenamiento de datos binarios almacenados en una columna BLOB. En el primer caso, 3.000 bytes de datos binarios se almacenan en fila, ya que 3.000 bytes es inferior al umbral de almacenamiento en filas de 3.965 bytes. Si no está deshabilitado el almacenamiento en filas para la columna BLOB, no se utilizará el segmento LOB ni el índice LOB. Normalmente, esto origina una recuperación más rápida de los datos BLOB debido al reducido número de operaciones de E/S, puesto que Oracle no tiene que acceder al segmento LOB ni al índice LOB.

Datos BLOB de menos de 3.965 bytes almacenados en filas
Datos BLOB de menos de 3.965 bytes almacenados en filas

En la siguiente figura se ilustra el segundo caso, en el cual los datos binarios superan los 3964 bytes (en este caso, los datos son de 81.920 bytes) y no pueden encajar en la fila. Por lo tanto, el localizador LOB hace referencia a los datos binarios que están almacenados en el segmento LOB. Como los datos binarios no ocupan más de 12 tramas en el segmento LOB, el localizador LOB almacena sus direcciones. En este caso no hay ningún índice LOB en uso.

Datos BLOB de más de 3.964 bytes almacenados fuera de la filas
Datos BLOB más grandes que 3.964 bytes de tamaño almacenados fuera de filas Un localizador LOB en la tabla apunta hacia el segmento LOB en el cual se almacenan los datos.

En la ilustración final, los datos binarios son tan grandes (106.496 bytes) que se requiere el índice LOB. En este caso, los datos binarios superan el almacenamiento en filas y además requiere más de 12 tramas en el segmento LOB para almacenarlos. Para datos de este tamaño, el localizador LOB se basa en el índice LOB para obtener la ubicación de las tramas en el segmento LOB. Se trata de un caso extremadamente raro para datos vectoriales y puede evitarse para datos ráster.

Datos BLOB almacenados fuera de filas, que requieren un índice LOB
Datos BLOB almacenados fuera de filas, que requieren un índice LOB

Para obtener información sobre la configuración del almacenamiento BLOB, consulte Parámetros de configuración de Oracle.

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2019 Esri. | Privacidad | Legal