¿Es posible conectarse a ArcSDE usando QGIS?

13

¿Alguien conoce algún complemento o alguna otra forma de conectarse y ver datos de una base de datos ArcSDE en el escritorio QGIS?

Zachary
fuente
Puede conectarse directamente a la base de datos subyacente (PostGIS, Oracle o geodatabase personal), no debería ser necesario (y tal vez no sea posible) usar ArcSDE como middleware.
oscuro
¿Cómo lo hace MapServer? Está basado en C y OGR, y también QGIS. Tal vez hay una manera como dice Matt Wilkie.
Duarte Carreira
Si los datos espaciales se almacenan en SDEBINARYlugar del oráculo nativo SDO_GEOMETRYo ST_GEOMETRYlos tipos de datos, creo que la única forma de leerlos sería a través de ArcSDE. Tenemos este problema con Geoserver, donde solo las configuraciones de tablas SDO_GEOMETRYse pueden ver con la conexión de Oracle, para nuestros otros datos heredados tenemos que usar el complemento ArcSDE.
kes

Respuestas:

4

Puede ser posible construir un puente a través de GDAL / OGR 's controlador de ArcSDE . No está compilado de manera predeterminada y necesita algunas partes de la API ESRI SDE C para conectarse. Entonces, para compilar este controlador, debe tener una copia del kit de desarrollo de API SDE C de ESRI. Si la memoria funciona, hay un controlador sde precompilado que puede usar ArcInfo Workstation instalado en la máquina local en lugar del SDK.

Fuentes:

wilkie mate
fuente
Creo que lo de ArcInfo fue solo para leer las coberturas binarias de ArcInfo de GDAL. Hace mucho tiempo que ha quedado en desuso.
Howard Butler
6

¡Me alegra decir que lo tengo funcionando! Estoy usando QGIS 1.7 de OSGeo4W:

  1. obtenga el ogr_sde.dll(compílelo de Tamas, también necesita algunos archivos SDK de ArcSDE)
  2. reemplace el gdal18.dllutilizado por qgis con el que compiló anteriormente
  3. poner ogr_sde.dllenC:\OSGeo4W\bin\gdalplugins\1.8
  4. crear un .vrtarchivo con su conexión ArcSDE y presentar detalles de clase
  5. agregue el vrt a QGIS, y listo!

La cosa es que ogr tarda mucho en conectarse. Pero ver está bien. Solo la parte de conexión es demasiado lenta. Quizás alguien descubra un parámetro para la conexión para acelerarlo.

EDIT: se olvidó también hay que copiar los siguientes archivos DLL de su compilación en el paso 1: xerces-c_28.dll, spatiallite.dlly openjpeg.dll. También necesita las librerías de ArcSDE: sde.dll, sg.dll, y pe.dll. Solo póngalos adentro C:\OSGeo4W\bin.

EDIT 2: más información aquí: http://www.qgis.org/wiki/Connecting_to_ArcSDE_databases .

EDITAR 3: el tiempo de conexión ya no es un problema. Solo es cuestión de una cadena de conexión correcta en el vrt. Vea el enlace para ver ejemplos.

Duarte Carreira
fuente
Si desea rásteres SDE, también desea gdal_sde.dll ...
Howard Butler
En respuesta a una queja, acabo de eliminar el enlace de Tamas, que se dirigió a un buen recurso cuando se publicó originalmente, pero ahora se dirige a una página 404 que anuncia contenido cuestionable. ¿Conoces un sitio actual para él?
Pops
2

Si usa Postgres como base de datos de back-end de ArcSDE, tiene la opción de almacenar datos espaciales en ST_Geometry (formato espacial SDE) o PG_Geometry (formato espacial PostGIS). Si almacena los datos en una base de datos habilitada para PostGIS y especifica la opción PG_Geometry cuando importa los datos (opcionalmente, puede editar dbtune, creo, para configurar PG_Geometry como predeterminado), podrá conectarse a los datos a través de una conexión SDE o a través de un cliente de escritorio que puede conectarse directamente a PostGIS (como QGIS)

wilsongis
fuente
-3

Actualmente no hay manera. Si tuviera que usar una de las herramientas FOSS4G basadas en Java, debería ser posible usar el conector SDE en geotools. Creo que así es como geoserver se conecta a SDE.

Actualmente no hay un proveedor de datos en el mundo C ++ que se conecte a QGIS

TheSteve0
fuente
Hola amigos, antes de que voten más por esto. Mire la fecha cuando respondí esto.
TheSteve0
Sospecho que esto se está rechazando porque es una respuesta que parece no ser válida. Si ya no es válido, recomendaría eliminarlo. Si todavía está, o podría revisarse para volver a ser, actual, entonces eso debería ayudar a revertir los votos negativos.
PolyGeo