6 votos

¿Qué ocurre con mi configuración de ArcGIS - PostGIS?

He instalado ArcGIS y PostGIS, y me cuesta conectarlos.

He importado algunos shapefiles en PostGIS y puedo verlos y manipularlos en pgAdmin.

El problema es que no puedo ver los datos geográficos en ArcMap. He creado con éxito una conexión de base de datos a mi servidor Postgres local, y puedo ver una lista de tablas incluyendo el shapefile que he añadido, pero al hacer clic en "Añadir datos..." en ArcMap falla silenciosamente. Si intento "Añadir capa de consulta" y hago clic en la tabla, obtengo un error "La sentencia SQL no era una sentencia select".

¿Qué pasa con mi configuración?

(Estoy utilizando ArcGIS 10.4, Postgres 9.4, PostGIS 2.1)

10voto

traveler Puntos 56

Aquí hay un par de elementos para explorar para determinar por qué ArcGIS no está registrando sus tablas PostGIS como clases de características:

  • ArcGIS se negará a reconocer las tablas que tengan tipos de geometría mixtos. Para aclarar, los tipos "POLYGON" y "MULTIPOLYGON" pueden mezclarse dentro de la misma columna, pero POLYGON y POINT no. En su caso, al proceder de un shapefile, no es probable que éste sea el problema.
  • ArcGIS lee la lista de tablas de public.geometry_columns . A partir de PostGIS 2.0, se trata de una vista de base de datos que lee de pg_catalog. ¿Sus shapefiles importados aparecen en esta lista? ¿Tienen valores apropiados en las columnas coord_dimension, srid y type?
  • Si bien es cierto que lee las tablas del geometry_columns también debe asegurarse de que el esquema en el que ha colocado sus tablas es accesible por la cuenta PostgreSQL utilizada para conectarse desde la aplicación ArcGIS. Si el esquema no coincide con el nombre de usuario, es posible que desee buscar la alteración de la variable search_path. Tampoco podrá hacer mucho si no hay un esquema con el mismo nombre que el usuario que se conecta a PostgreSQL. ArcGIS utiliza el esquema que coincide con el nombre del usuario para almacenar las tablas de registro. Esta documentación puede ayudar a aclarar algunos de sus problemas.
  • Siempre se puede alterar la tabla o crear una vista con definiciones de tipo (también conocida como shape::geometry(Geometry,4326) como forma) para permitir que ArcGIS acepte estas tablas.

He comprobado que ArcGIS es muy intolerante con las tablas PostGIS completamente válidas que no se ajustan a su modelo de cómo deben almacenarse los datos dentro de un RDBMS. ¿Ha intentado abrir uno de sus archivos shape dentro de ArcGIS y simplemente exportar los datos a su base de datos PostgreSQL? (Definitivamente, usted necesitará un esquema que coincida con el nombre del usuario conectado para hacer esto. El usuario también debe poseer el esquema de nombre similar). Una vez que tenga una tabla que sea reconocida por ArcGIS, podrá utilizarla como modelo para configurar sus otras tablas.

3voto

dlanod Puntos 8661

¿Hay alguna razón por la que necesite utilizar ArcGIS.

Si sólo necesita ver los datos, QGIS es una mejor opción para ver/editar los datos de PostGIS. Puedes hacer toda la manipulación que necesites en PostGIS fácilmente.

En el peor de los casos, puede exportar el resultado a shapefile utilizando shp2pgsql-gui o la línea de comandos pgsql2shp

Si está configurado en ArcGIS, compruebe su archivo de registro de PostgreSQL, debería dar el error que ArcGIS está activando.

0voto

NVI Puntos 121

ccleve, ahora veo en el otro hilo al que también respondí, pero que no sabía que estaba relacionado con este, que intentas ejecutar una sentencia SQL UPDATE a través de la interfaz de Query Layer. Eso no es posible. Las capas de consulta en ArcGIS son de sólo lectura.

O bien tiene que comprar una licencia de ArcGIS for Server y actualizar su base de datos para que sea una geodatabase empresarial de ESRI, o bien, si puede vivir con las limitaciones de una base de datos de Microsoft SQL Server Express (10 GB como máximo, un núcleo), podría instalarla y tener una Geodatabase de escritorio porque forma parte de su licencia de ArcGIS for Home Use. Lamentablemente, las geodatabases de escritorio sólo se admiten en SQL Server Express, no en ninguna de las otras geodatabases admitidas por ArcGIS.

Aquí expliqué cómo instalar una geodatabase de escritorio: https://geonet.esri.com/message/118404#comment-118404

Y recientemente me he dado cuenta de que ESRI por fin parece haber documentado mejor esto también, al menos no recuerdo haber visto estas páginas antes:

Como escribe LR1234567, QGIS puede ser una mejor opción en su caso.

También me pregunto por qué desea hacer este tipo de actualización SQL a través de un SIG. Si no hay un componente espacial real en su pregunta, hacerlo por línea de comandos en PostGIS es probablemente el camino a seguir.

Por lo general, se recurre al SIG cuando la mayoría de las manipulaciones son espaciales, ya que el SQL necesario para ello podría resultar rápidamente inmanejable.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X