¿Cómo puedo conectarme a una base de datos PostGIS desde ArcMap usando ArcGIS Desktop 9.3 y posterior?
Me gustaría poder realizar consultas espacialmente habilitadas y recibir los resultados (p. Ej., Uniones espaciales y no espaciales, filtros, etc.) en lugar de simplemente descartar el contenido de una tabla.
No quiero usar las extensiones espaciales de ArcSDE, quiero usar las extensiones espaciales de PostGIS en ArcGIS Desktop.
fuente
Eche un vistazo a esta publicación en mi blog: http://www.paolocorti.net/2008/06/06/spatial-database-for-postgres-and-arcgis-users-how-to-choose/
Básicamente tienes 2 opciones:
Tenga en cuenta que si necesita soporte de geodatabase (dominios, topología, etc.) o soporte de ArcCatalog, la primera solución (con ArcSde) es la única forma de hacerlo en este momento.
Por lo que he escuchado (no lo probé directamente) en ArcGis Desktop 10, puede hacer una conexión directa de solo lectura a PostGis sin la puerta de enlace ArcSde.
zigGIS ya no está activo y el sitio web está desconectado
fuente
Tengo algunas publicaciones sobre cómo hacerlo con 9.3. El primero está aquí y puedes llegar al resto desde allí: http://geobabble.wordpress.com/2008/05/28/using-arcsde-93-with-postgresql-part-1/
Lo hice una vez con 10.0 y no he tenido problemas. Diré que, cuando use PostgreSQL y PostGIS con ArcSDE, recomiendo ceñirse a las versiones compatibles con Esri.
fuente
Lo más fácil sería zigGIS de Obtuse Software . Actualmente tiene que pagar por ello, pero se dice que la versión 3 será de código abierto. .
De acuerdo con Google Code Archive en
ziggis
:y el enlace al sitio web de Obtuse Software parece estar roto.
fuente
ArcGIS 10.1 SP1 puede conectarse a bases de datos PostGIS 2.0.0 de forma nativa, pero la conexión es de solo lectura y funciona principalmente como un front end más limpio para las capas de consulta (de hecho, solo carga cualquier capa como capa de consulta). La conexión de la base de datos solo le permite ver todas las tablas y capas de la base de datos en el catálogo.
Como alternativa, también existe arcgis-ogr , que permite conexiones a todos los tipos de vectores OGR como un complemento de ArcGIS. . También es de solo lectura en este momento.
fuente
En primer lugar: solo podrá usar ArcGIS con PostgreSQL utilizando conexiones OLE DB, lo que significa que solo podrá leer tablas y columnas comunes (incluso podrá leer las columnas espaciales, pero ArcGIS no puede hacer nada para ellos,
Para usar ArcGIS y PostgreSQL + PostGIS (lo que significa que necesita ver datos espaciales), necesitará ArcSDE o ZigGIS .
Con ambas opciones puede consultar, editar y analizar datos almacenados en PostGIS, dentro de ArcMap u otras herramientas de ESRI.
ArcSDE es un middleware proporcionado por ESRI, que cambia todo el flujo de trabajo (de instalación, configuración de una geodatabse, etc.) de trabajo y ZigGIS es una herramienta de escritorio (es decir, solo se usa cuando las herramientas de escritorio de ESRI están involucradas).
fuente
Si tiene el nivel de escritorio ArcEditor o ArcInfo, puede usar SQL Server Express. Aunque solo un usuario puede editar a la vez, el bloqueo y el desbloqueo pueden ser mejores; puede probar esto primero. Hay mucha documentación sobre cómo hacerlo, y no tienes que ser un dba, aunque me gustan los postgres. Sin ofender, amigos de QGIS;)
Además, asegúrese de que su representante de ventas de Esri le dé una cotización para "ArcGIS Server Workgroup", no Enterprise. Vea a continuación: puede tener 10 conexiones de edición simultáneas. Debería ser más como $ 3-5k. Precios http://www.esri.com/software/arcgis/arcgisserver/pricing
Consulte también esta publicación para obtener una buena explicación de las licencias y enlaces sobre SDE y la licencia de escritorio ArcSDE de SQL Server Express
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_are_database_servers_in_ArcGIS/003n0000004r000000/
"Cree geodatabases y realice otras tareas administrativas para los servidores de bases de datos a través del nodo Servidores de bases de datos en la ventana Catálogo o ArcCatalog. Realizar la administración del servidor de bases de datos y sus geodatabases a través de ArcGIS Desktop significa que no se necesita experiencia adicional en software o administración de bases de datos para usted para crear y usar estos tipos de geodatabases de ArcSDE.
Las conexiones a las geodatabases en un servidor de bases de datos son siempre conexiones directas; usan los archivos de la biblioteca ArcSDE en el cliente para realizar la conexión. En este caso, las aplicaciones cliente son ArcGIS Desktop en el nivel de licencia ArcEditor o ArcInfo, ArcGIS Engine y ArcGIS Server Workgroup.
Los medios para estos productos incluyen archivos de instalación para SQL Server Express. Una vez que haya creado la instancia de SQL Server Express y ejecute el asistente para permitir que la instancia almacene geodatabases, las bibliotecas dentro de la aplicación cliente le permiten conectarse y trabajar con los servidores de bases de datos y crear y trabajar con geodatabases en el servidor de bases de datos.
Con ArcGIS Desktop (ArcEditor y ArcInfo) y ArcGIS Engine, puede configurar un servidor de base de datos y crear geodatabases de ArcSDE a las que pueden acceder algunos usuarios y editar un usuario a la vez .
Con ArcGIS Server Workgroup que usa ArcGIS Desktop, puede configurar un servidor de base de datos y crear geodatabases de ArcSDE a las que pueden acceder hasta 10 usuarios a la vez, todos los cuales pueden editar simultáneamente . Al usar los servidores de bases de datos con licencia a través de ArcGIS Server Workgroup, también puede conectarse a las geodatabases usando aplicaciones web, para las cuales no hay límite de conexión ".
fuente
Escribí un complemento que le da acceso a ArcGIS a más de 50 formatos de vectores (incluido PostGIS). Todavía es experimental, pero puedes probarlo y decirme cómo va.
Hay ventajas de usar este enfoque sobre la funcionalidad incorporada en ArcGIS (consulte las preguntas frecuentes), pero nuevamente, todavía es experimental.
Descarga e instrucciones aquí
fuente
He estado monitoreando esta publicación y la web más amplia para encontrar una solución a esto, ya que quería una herramienta similar. Hoy me topé con mi (nuestra) solución a través del feed RSS del blog de James Fee . Y creo que la solución que busca es PgMap por ST-Links .
He probado la versión ArcGIS 9.3 y es impresionante. Sin embargo, todavía estoy luchando con las ediciones ya que todavía soy un novato de PostGIS (cosa de la columna de identidad). También viene con un elegante cargador ESRI para PostGIS y, sobre todo, ¡es GRATIS! [Probado con OpenGeoSuite Community Edition 2.4.1]
fuente
Vaya a Inicio -> Panel de control -> Rendimiento y mantenimiento -> Herramientas administrativas -> Orígenes de datos.
Vaya a la pestaña DSN del sistema.
Haz clic en Agregar.
Desplácese hacia abajo en la lista. Debería poder ver sus controladores ODBC PostgreSQL allí si los instaló. Haga clic en el primer controlador ODBC PostgreSQL de la lista.
Ingrese los detalles de su conexión en el formulario. Si la conexión está en la misma máquina que la base de datos PostgreSQL, escriba localhost en el campo del servidor; de lo contrario, el nombre de la computadora en la red. Tendrá que hacer algunos cambios en el archivo pg_hba.conf para conectarse a su base de datos en la red. Lea sobre esto en los manuales de PostgreSQL en la sección Autenticación de usuario. Una vez hecho esto, haga clic en Finalizar.
Agregue todos los controladores ODBC PostgreSQL que encuentre en la lista de manera similar.
Haga clic en Aceptar. Ahora puede conectarse a la base de datos PostgreSQL a través de los controladores ODBC. Los controladores solo necesitaban ser dirigidos a la base de datos con información de conexión.
fuente
A partir de la era 2011, pruebe ST-Links SpatialKit . El software es gratuito y funciona con ArcGIS 9.3 / 10.0 / 10.1 / 10.2.
La descarga tiene un buen PDF para documentar las capacidades, que incluyen visualización, edición, etc.
fuente
He hecho esto antes sin demasiados problemas al usar ArcGIS 10.1 y 10.2 desafortunadamente no funciona con 9.3 y postgres 9.2, creo que de memoria.
Usé los controladores de esri. Inicie sesión en el sitio de atención al cliente de ESRI, aunque creo que esto ha cambiado desde que escribí las instrucciones.
Desplácese hacia abajo hasta que vea "Bibliotecas de cliente PostgreSQLQL (Windows)", debe tener un tamaño de 2.21 MB.
Haga clic en Descargas
Para PostgreSQL / PostGIS en el archivo descargado debe estar el conjunto de bibliotecas de cliente "pg_client_windows86" que contiene la versión necesaria de 32 bits de libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll y ssleay32.dll. Cópielos en su directorio bin de ArcGIS. En mi computadora usando 10.1 era: C: Archivos de programa (x86) ArcGISDesktop10.1bin Si está usando ventanas de 32 bits, sería algo así como: C: Archivos de programa ArcGISDesktop10.1bin
Una vez que haya hecho esto, debería poder conectarse y agregar datos de su base de datos. Para usar una capa de consulta de datos, primero deberá conectarse a su base de datos. En ArcGIS 10.1 deberá ir a Archivo> Agregar datos> Agregar capa de consulta
Lo único a tener en cuenta es que los datos que se devuelven deben tener un campo único que ArcGIS pueda utilizar como clave principal. En ocasiones, es posible que deba especificarlo si está utilizando algo más que una consulta básica y ArcGIS no puede determinar qué campo usar. Puedes hacer esto:
También puede ejecutar las consultas espaciales contra la base de datos de postgres con relativa facilidad, aunque debe fabricar un campo de identificación sobre la marcha. Por ejemplo, aquí hay un ejemplo de hacer un buffer de 100 km
No solo eso, también puede guardar cualquier capa de consulta como un archivo de capa y pasarla también por algunas de las herramientas estándar de ArcGIS. No he probado esto demasiado. Entonces, al agregar columnas y cosas así, pude ver que causa estragos. Creo que podría hacer llamadas SQL espaciales con otras bases de datos como SQLServer y Oracle, también con un poco de violín para crear el campo de identificación sobre la marcha.
Hice un tutorial completo hace un tiempo en: http://www.gisuser.org.nz/resources/tips-and-tricks/look-mum-dad-no-hands
fuente
Efectivo con ArcGIS 10.4, puede leer y escribir en la geometría PostGIS en bases de datos PostgreSQL compatibles sin necesidad de extensiones adicionales. Solo he usado una licencia avanzada para esto, pero creo que una licencia estándar también puede conectarse a una base de datos de servidor PG que no es de geodatabase y usar ese espacio de trabajo como destino para herramientas de creación de vectores. Es más engorroso, pero también puede usar clientes de licencia básica para escribir en tablas usando SQL con Python (vía
arcpy.ArcSDESQLExecute
). Las capas de consulta de solo lectura han sido una opción con todos los niveles de licencia desde ArcGIS 10.0.fuente
¿PostgreSQL 9 funcionará con ArcGIS 10?
Para editar Postgis ZigGIS 3.0
http://groups.google.com/group/ziggis/browse_thread/thread/8e17f4c2ac57f428?hl=en
Solo lectura se puede hacer a través de los controladores ODBC Postgres correctos y haciendo una conexión directa en ArcCatalog
fuente
GISquirrel hace el trabajo a una fracción del costo de SDE. Es compatible con la conexión arcgis a MSSQL y PostGIS. Muy simple de configurar (capaz de importar a postgres desde shapefile / featureclass) y simple de mantener. Para un pequeño número de usuarios que necesitan la capacidad de edición multiusuario, está bien.
Utilizamos GISquirrel / Arcgis para nuestros 'usuarios avanzados' de GIS y QGIS puede conectarse al mismo servidor PostGIS para nuestros 'usuarios básicos', lo que ahorra costos de licencia.
fuente
GISquirrel hace el trabajo muy bien para MSSQLserver, y estoy bastante seguro de que funcionará bien para Postgres. Trabajo en un entorno mixto de ESRI / Qgis, y también uso GIS Squirrel para importar archivos de forma, etc. a la base de datos. En SQLserver GISsquirrel realiza un seguimiento de las columnas de geometría, utilizo esta información para actualizar la tabla geometry_columns utilizada por Qgis. Muy útil ...
fuente
PgMap fue reemplazado por st-links spatialKit y no solo es compatible con PostGIS, sino que también es compatible con SQL Server 2008. Funciona con ArcMap 9.3 y ArcMap 10. Simplemente cumple con sus requisitos. Compruébalo en www.st-links.com
fuente
Creo que tiene varias opciones fuera de usar SDE (aunque señalaré que puede usar PG_Geometry en SDE, por lo tanto, acceder a los datos a través del software ESRI o el software OS compatible con PostGIS). Tiene la extensión de Interoperabilidad de datos ESRI, ZigGIS, y probablemente podría instalar una copia de geoserver o mapserver y conectarse a través de un servicio WMS en ArcGIS. Similar a la publicación anterior sobre zigGIS y la necesidad de administrar consultas a través de pgAdmin, necesitaría usarlo para crear sus consultas con geoserver / mapserver. Idealmente, si estuviera reutilizando las mismas consultas, podría guardarlas como vistas en postgresql y acceder a los datos de esa manera.
fuente
ST-Links SpatialKit es una extensión de ArcMap para conectarse directamente a bases de datos espaciales sin ArcSDE, Sin ArcInfo, Sin ArcGIS Server.
De acuerdo con su Licencia , cuesta $ 188 CAD, pero dicen "Continuaremos emitiendo licencias gratuitas para aquellos usuarios que no pueden pagar la tarifa de la licencia. Las licencias gratuitas tienen límites de tiempo. Si solicita una licencia gratuita, indique el motivo en su correo electrónico de solicitud de licencia ".
fuente
Una manera fácil de agregar datos PostGIS a ArcMap es agregar una 'Conexión de interoperabilidad'. Para hacer esto, se requiere la 'Extensión de interoperabilidad de datos'.
Se considera una buena idea agregar un 'Índice numérico' y 'Clave primaria' a la Tabla de base de datos PostGIS antes de crear la conexión.
fuente