ArcGIS y el tipo de geometría PostGIS

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:

En las siguientes secciones se ofrece más información acerca del uso del tipo de almacenamiento de la geometría PostGIS con aplicaciones ArcGIS.

Preparar una base de datos para utilizar la geometría PostGIS

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.

SugerenciaSugerencia:

Consulte la página de requisitos del sistema de bases de datos en ArcGIS Resource Center para averiguar qué versión de PostGIS es compatible con la versión de ArcGIS que está utilizando.

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.

NotaNota:

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.

Otorgar a los usuarios derechos para crear tablas con 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 en una geodatabase en PostgreSQL utilizando el almacenamiento de geometría PostGIS

Una vez que la base de datos está habilitada para almacenar geometría PostGIS, se pueden crear tablas habilitadas espacialmente que incluyan columnas espaciales de tipo geometría. Las entidades geográficas se pueden introducir en las columnas espaciales.

Puede obtener acceso a las tablas habilitadas espacialmente a través de ArcGIS for Desktop o creando aplicaciones con la interfaz de programación de aplicaciones (API) C de ArcSDE. Si es un programador de SQL experto, también puede realizar llamadas a las funciones espaciales.

Crear clases de entidad mediante ArcGIS

El tipo de almacenamiento de geometría utilizado para las clases de entidad mediante ArcGIS se controla por medio de un ajuste de parámetro en la tabla sde_dbtune. 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, el tipo de almacenamiento de geometría para nuevas clases de entidad en una geodatabase de ArcSDE para PostgreSQL utiliza el 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 DEFAULTS en la tabla sde_dbtune. (Utilice el comando sdedbtune para modificar los parámetros en la tabla sde_dbtune. Consulte la Referencia sobre el comando de administración de ArcSDE para obtener más detalles sobre el uso de este comando.) O bien, si desea almacenar solo algunas de las clases de entidad en el tipo de almacenamiento PostGIS, puede utilizar la palabra clave de geometría PG_GEOMETRY y especificarla al crear la clase de entidad. En el archivo dbtune.sde que se puede crear mediante la exportación del contenido de la tabla sde_dbtune con el comando sdedbtune, la palabra clave PG_GEOMETRY aparece como sigue:

##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 acerca del almacenamiento de sde_dbtune, consulte los siguientes temas:

Utilizar tablas de PostGIS 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:

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

Registrar tablas de terceros que contengan columnas de geometría 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.

Dónde encontrar documentación de PostGIS y PostgreSQL

Puede encontrar documentación de PostGIS en el sitio web de PostGIS: http://www.postgis.org/documentation/.

Para obtener información general acerca de PostgreSQL, consulte la documentación disponible en el sitio web de PostgreSQL: http://www.postgresql.org/docs/.

5/9/2014