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 PostgreSQL compatibles con ArcGIS

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

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 PostgreSQL tipos de datos que crea ArcGIS. La tercera columna muestra qué otros PostgreSQL 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 PostgreSQL creadosOtros tipos de datos PostgreSQL que se pueden visualizarNotas

BLOB

BYTEA

DATE

TIMESTAMP WITHOUT ZONE

TIMESTAMP

DOUBLE

NUMERIC(p)

BIG SERIAL, DOUBLE PRECISION

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

NUMERIC(p)

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 or GEOMETRY (PostGIS)

En una geodatabase, el ajuste GEOMETRY_STORAGE de la palabra clave de configuración empleada al crear la clase de entidad determina el tipo de datos que se crea en la base de datos.

Para usar ST Geometry en una base de datos (no una geodatabase), debe instalarlo. Consulte Agregar el tipo ST_Geometry a una base de datos de PostgreSQL para obtener información.

Para utilizar el tipo de geometría PostGIS, debe instalar PostGIS en su clúster de base de datos de PostgreSQL y la base de datos debe estar habilitada para utilizar PostGIS. Consulte la documentación de PostgreSQL para obtener más información.

GLOBAL ID

VARCHAR(38)

Solo se admite en las geodatabases.

GUID

VARCHAR(38)

LONG INTEGER

INTEGER

SERIAL

OBJECT ID

INTEGER en una geodatabase

SERIAL en una base de datos

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

BYTEA or ST_RASTER

Los rásteres solo son compatibles con las geodatabases. El tipo de datos de PostgreSQL que se crea depende de la palabra clave de configuración que se utiliza al crear el catálogo de ráster, el dataset ráster o el dataset de mosaico.

Debe configurar por separado ST_Raster en la geodatabase si desea usarlo. Consulte las instrucciones en Instalar ST_Raster en PostgreSQL.

SHORT INTEGER

SMALLINT

REAL

TEXTO

CHARACTER VARYING

CHARACTER, VARCHAR, TEXT

Tipos de datos PostgreSQL compatibles con ArcGIS

Si su tabla contiene una columna con un tipo de datos que no es compatible con ArcGIS, puede convertir la columna a texto. Sin embargo, solo debe hacer esto si nada más desea ver los valores de la columna; no lo haga si necesita realizar cualquier análisis que utilice los valores de esa columna. Por ejemplo, podría ejecutar una declaración SELECT para elegir las columnas en tablab y convertir la columna decimal (total) a texto:

SELECT id, name, total::text
 FROM me.mydb.tableb;

Tipos de geometría

Como se indica en la tabla, ArcGIS crea y puede trabajar con dos tipos de geometría en PostgreSQL: Esri ST_Geometry o PostGIS Geometry. En las dos secciones siguientes se proporciona más información sobre estos dos tipos de datos.

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 PostgreSQL, consulte ST_Geometry en PostgreSQL.

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.

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.

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.

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

ST_Geometry
La superclase ST_Geometry y sus 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

Observe que cada subclase hereda las propiedades de la superclase ST_Geometry pero también posee sus propias propiedades. Las funciones que operan en el tipo de datos ST_Geometry aceptan cualquiera de los tipos de entidad de subclase. Sin embargo, algunas funciones se han definido en el nivel de subclase y solo aceptan ciertas subclases. Por ejemplo, la función ST_GeometryN solo toma los valores del subtipo ST_MultiLinestring, ST_MultiPoint o ST_MultiPolygon como entrada.

PostGIS geometry

PostGIS es un producto que habilita espacialmente las bases de datos de PostgreSQL. PostGIS sigue la especificación de entidades simples del Open Geospatial Consortium, Inc. (OGC), para un lenguaje estructurado de consultas (SQL). Utiliza las representaciones de geometría de binario conocido (WKB) y de texto conocido (WKT) del OGC.

PostGIS tiene dos opciones de tipo espacial: geometría y geografía. ArcGIS solo admite el tipo geometría.

Al utilizar el tipo de almacenamiento de la geometría PostGIS con ArcGIS, se deben tener en cuenta las reglas siguientes:

  • Debe utilizarse la plantilla de base de datos PostGIS para crear la base de datos PostgreSQL que utiliza para la geodatabase o habilitar PostGIS en la base de datos.
    Nota:

    Si crea la geodatabase utilizando la herramienta de geoprocesamiento Crear geodatabase corporativa, la base de datos se crea usando una plantilla distinta a la plantilla PostGIS. Por tanto, si va a utilizar el tipo de geometría PostGIS, debe crear manualmente una base de datos utilizando la plantilla PostGIS. A continuación puede especificar la base de datos existente cuando ejecute la herramienta de geoprocesamiento Crear geodatabase corporativa y la geodatabase se creará en ella.

  • El usuario sde y cualquier otro usuario que cree datos en la geodatabase deben contar con permisos sobre tablas PostGIS específicas.
  • Las clases de entidad que se crean solo pueden usar las referencias espaciales incluidas en la tabla public.spatial_ref_sys de PostGIS. Si se especifica una referencia que no se encuentre en la tabla, se produce un error en la creación de la clase de entidad.
  • Debe especificarse una palabra clave de configuración que contenga el parámetro GEOMETRY_STORAGE establecido en PG_GEOMETRY para crear una clase de entidad que utilice el tipo de geometría PostGIS.
  • No se puede cambiar el nombre de las tablas espaciales almacenadas mediante el tipo de geometría PostGIS. Esto es porque no hay ninguna función de PostGIS para actualizar el nombre de tabla en la tabla public.geometry_columns.

Para utilizar el tipo de geometría PostGIS, debe instalar PostGIS. Instale PostGIS una vez instalado PostgreSQL. Recuerde instalar una versión de PostGIS compatible con la versión de ArcGIS que desee usar.

Al instalar PostGIS, se crea una plantilla de base de datos PostGIS en el cluster de la base de datos de PostgreSQL. Utilice la base de datos de la plantilla PostGIS para crear una base de datos en la que almacenar la geodatabase.

Otorgar los privilegios para crear columnas de geometría PostGIS

Cuando una base de datos se habilita para PostGIS, se crean dos tablas (geometry_columns y spatial_ref_sys) en el esquema público. Debe otorgar, como mínimo, los privilegios SELECT, INSERT, UPDATE y DELETE en la tabla geometry_columns y SELECT en la tabla spatial_ref_sys para el usuario sde y cualquier otro usuario que vaya a crear datos en la geodatabase.

GRANT select, insert, update, delete 
 ON TABLE public.geometry_columns 
 TO <user_name>;
GRANT select
 ON TABLE public.spatial_ref_sys
 TO <user_name>;

Crear clases de entidad que usen la geometría PostGIS

ArcGIS usa un ajuste del parámetro de configuración en la tabla sde_dbtune para determinar qué tipo de datos espaciales se usarán cuando cree una clase de entidad. Dicho parámetro es GEOMETRY_STORAGE. En las geodatabases de PostgreSQL, puede establecerse en ST_GEOMETRY o PG_GEOMETRY (el ajuste del tipo de geometría PostGIS). Por tanto, cuando desee crear una clase de entidad mediante ArcGIS que utilice el tipo de geometría PostGIS, especifique una palabra clave de configuración que contenga el parámetro GEOMETRY_STORAGE establecido en PG_GEOMETRY.

De forma predeterminada, las nuevas clases de entidad usan almacenamiento ST_Geometry. Si desea almacenar la mayor parte de los datos en tipos de almacenamiento PostGIS, cambie a PG_GEOMETRY el valor del parámetro GEOMETRY_STORAGE bajo la palabra clave de configuración DEFAULTS en la tabla sde_dbtune. O bien, si desea almacenar solo algunas de las clases de entidad en el tipo de almacenamiento PostGIS, puede especificar la palabra clave de configuración PG_GEOMETRY al crear la clase de entidad. Cuando se exporta desde la geodatabase, la palabra clave PG_GEOMETRY aparece de la siguiente forma:

##PG_GEOMETRY
GEOMETRY_STORAGE    "PG_GEOMETRY"
UI_TEXT             "User Interface text description for POSTGIS geometry storage" 
END

El resto de los parámetros de almacenamiento se toman de la palabra clave DEFAULTS. Para obtener más información sobre los parámetros y las palabras clave de configuración, consulte los siguientes temas:

  • Palabras clave de configuración
  • Parámetros de configuración en PostgreSQL

Utilizar las tablas de geometría existentes

ArcGIS puede utilizar las tablas que contienen columnas de geometría PostGIS creadas externamente mediante otras aplicaciones o SQL (algunas veces denominadas tablas de terceros), siempre que las tablas cumplan con los requisitos previos siguientes:

  • Cada tabla debe tener una única columna de geometría. De no ser así, defina una capa de consulta o una vista que incluya solo una de las columnas de geometría.
  • Las tablas no deben tener otras columnas de tipo definido por el usuario.
  • Deben tener un único tipo de geometría (puntos, líneas o polígonos), aunque ésta puede ser multiparte.
  • Deben tener una columna única de enteros, que no sea NULL, adecuada como columna Id. de fila registrada.
  • Deben tener un índice espacial.

Para obtener información sobre la creación de tablas con una columna PostGIS mediante SQL, consulte la documentación de PostGIS.

Puede conectarse a una base de datos PostgreSQL que contenga las tablas PostGIS de ArcGIS for Desktop y registrarlas en la geodatabase. Consulte Registrar una tabla con la geodatabase para obtener más información.

Tipo de datos Ráster

Puede usar tipos de datos bytea o ST_Raster para almacenar datos ráster en una geodatabase en PostgreSQL. Bytea se utiliza de forma predeterminada. Si desea usar ST_Raster, debe configurar la geodatabase.

Bytea

Bytea es un tipo de datos de cadena binarios de longitud variable que utiliza PostgreSQL. Es similar a un BLOB. Consulte la documentación de PostgreSQL para obtener más información sobre este tipo de datos.

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 el tipo ST_Raster, debe configurarlo en la base de datos.

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.

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