Cómo conectar ArcGIS con PostGIS

PostGIS es una extensión que convierte el sistema de base de datos PostgreSQL en una base de datos espacial. La combinación de ambos es una solución perfecta para el almacenamiento, gestión y mantenimiento de datos espaciales.

Existe un gran número de clientes SIG de escritorio y servidores de mapas web que pueden trabajar con PostGIS. Entre ellos destacan ArcGIS y QGIS. Si también te interesa conectar QGIS con PostGIS revisa este tutorial.

En este tutorial te explicamos cómo conectar ArcGIS 10.3 a PostGIS para visualizar las tablas almacenadas en PostGIS. Tenemos varias opciones para ello:

Crear una Conexión a una base de datos utilizando la opción Database connection.

Para ello debemos seguir estos pasos:

En el catálogo debes crear una nueva conexión haciendo clic sobre Add Database Connection:

A continuación se abrirá una ventana en la que rellenaremos los siguientes parámetros:

  • Database Platform: PostgreSQL
  • Instance: localhost (el nombre de nuestro servidor).
  • Authentication Type: Database authentication
    • User name: postgres (usuario por defecto)
    • Password: postgres (contraseña por defecto)

Una vez introducidos estos datos, haremos clic sobre el desplegable Database, y aquí se listarán las bases de datos que tengamos en PostgreSQL:

Una vez seleccionada haremos clic en OK y se mostraran nuestras tablas en el árbol:

En ArcCatalog, haciendo clic sobre una de las tablas ya podremos visualizar las geometrías.

En ArcMap, arrastrando una de las capas a la tabla de contenidos podremos ver las geometrías:

arcgis con postgis

Añadir las tablas de PostGIS como una Query Layer.

Para añadir las tablas de PostGIS como una Query Layer debemos ir al menú superior File > Add Data > Add Query Layer…

Se abrirá una ventana New Query Layer con los campos en blanco, el primer paso es crear una conexión, por lo que debemos hacer clic sobre el botón Connections…

Seleccionaremos la conexión que acabamos de crear, que se denomina Connection to localhost:

Y hacemos clic en OK.

Una vez establecida la conexión y con la lista de capas en la izquierda hacemos doble clic sobre una tabla para añadirla como una consulta.

A continuación, en el campo Name especificamos un nombre y pinchamos  en Finish:

new query layer arcgis con postgis
Conexión realizada utilizando ArcGIS 10.3 y PostGIS 3

Otras opciones

Utilizar la toobar de GISquirrel.  It allows you to view, edit and manage spatial data from Microsoft SQL Server or PostGIS in ArcGIS Desktop, without SDE, Server, ArcEditor or ArcInfo licences.

Utilizar la extensión Interoperability connections para visualizar los datos.

Let’s connect!

Date de alta en nuestra newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

8 comentarios en «Cómo conectar ArcGIS con PostGIS»

  1. Hola Aurelio, a mi tambien me sale sale el mismo error que reporta Anna y no le he logrado resolver, tengo Arcgis 10.1 con el SP1, el sistema operativo es Windows 7 profesional con SP1

  2. Hola, gracias por el aporte, es muy buena esta información les comento que todo funciona bastante bien con el SpatialKit 4.0, Postgris 2. ArcMap 10.1. Me permite realizar la conversion de SHP a una Tabla de la BD. Posteriormente me permite crear la conexion con el SpatialKit 4.0 como se muestra en el tutorial.
    Sin embargo tengo dos problemas:

    1.- yo ncesito poder editar esta información y registre en la BD estos cambios.

    2.- Tambien requiero manejar mas de 100 registros, ya que esta version es solo para 100.

    Agluna sugerencia?
    gracias

    • Hola Robin,
      Gracias por el comentario.
      1- Puedes editar la información como si se tratase de un archivo vectorial.
      2 – Si te registras en SpatialKit 4.0 puedes acceder a los registros completos de la tabla. El registro es gratuito.
      Un saludo

  3. Hola, he estado trabajando con .shp los cuales migro a través de la herramienta de Posgis de manera exitosa (o eso creo) a una BD en Postgres. Al realizar la conexion de Arcmap con postgres este muestra en el árbol de Arcatalog tablas dentro de la BD…. he intentado visualizar los mapas contenidos en las tablas por el método de Query Layer y SpatialKit 4.0 y no he tenido éxito…

    Me interesa mas el método de SpatialKit 4.0 pero al momento de agregar los layers (pantallaso Add ST Layer) no me muestra nada en la pestaña «spatial» todo me lo muestra en «non stpatial» y por consiguiente ahí quedo estancado con ese proceso… si alguien sabe que estoy haciendo mal o me pueda brindar una ayuda, le agradecería mucho….gracias

    • Hola Manuel,
      Si la pestaña spatial no te muestra nada, posiblemente no se han importado bien los SHP, utiliza el importador de PostGIs para realizar la tarea.
      Saludos

  4. Hola Aurelio, por un lado feliz que se esté trabajando en la idea de conectarse a PostGis desde ArcMap 10, pero por otro lado triste porque no consigo conectarme…
    Lo he probado desde la oficina y desde casa y me aparece siempre el mismo mensaje:
    «valor demasiado grande o demasiado pequeño para Int16»
    Supongo que no tendrás idea de cuál puede ser el problema no?
    Lo intento desde ArcGIS 10.0, que en su web dicen que funciona con esa versión…
    Gracias!
    Anna.

  5. Excelente este método, no lo conociaa…todo esta bien , descargo todo, me lo reconoce el arcgis 10, baje la versión SpatialKit correspondiente….

    Solo que cuando ya en le parte final trato de agregar la tabla con el campo «the_geom» que me da la información cartográfica me sale un error :S

    ERROR: 42883: function st_srid(geometry) does not exist.

    porfa lo necesito urgente para mi trabajo pues manejo una base de datos de alumbrado publico y necesito hacer modificaciones espaciales urgente

    • Gracias Andrés,
      Creo que el error tiene que ver con la versión de PostGIS. Para trbajar con PostGIS 2 necesitas la versión 10.1 con el último Service Pack.
      Un saludo

Los comentarios están cerrados.