Est-il possible de se connecter à ArcSDE à l'aide de QGIS?


13

Quelqu'un connaît-il des plug-ins ou toute autre façon de se connecter et d'afficher les données d'une base de données ArcSDE dans le bureau QGIS?


Vous pouvez vous connecter directement à la base de données sous-jacente (PostGIS, Oracle ou géodatabase personnelle), il ne devrait pas être nécessaire (et peut-être pas possible) d'utiliser ArcSDE comme middleware.
underdark

Comment fonctionne MapServer? Il est basé sur C et OGR, tout comme QGIS. Peut-être qu'il y a un moyen comme Matt Wilkie le dit.
Duarte Carreira

Si les données spatiales sont stockées dans SDEBINARYplutôt que l'oracle natif SDO_GEOMETRYou ST_GEOMETRYles types de données, je pense que la seule façon de les lire serait via ArcSDE? Nous avons ce problème avec Geoserver où seules les tables configurées avec SDO_GEOMETRYpeuvent être affichées avec la connexion Oracle, pour nos autres données héritées, nous devons utiliser le plug-in ArcSDE.
kes

Réponses:


4

Il est possible de construire un pont à travers GDAL / OGR de pilote ArcSDE . Il n'est pas compilé par défaut et a besoin de quelques morceaux de l'API ESRI SDE C pour se connecter. Donc, pour construire ce pilote, vous devez avoir une copie du kit de développement API SDE C d'ESRI. Si la mémoire est suffisante, un pilote sde précompilé flottant autour peut utiliser ArcInfo Workstation installé sur la machine locale à la place du SDK.

Sources:


Je pense que la chose ArcInfo était uniquement pour la lecture des couvertures binaires ArcInfo de GDAL. Il est depuis longtemps obsolète.
Howard Butler

6

Je suis heureux de dire que je le fais fonctionner! J'utilise QGIS 1.7 d'OSGeo4W:

  1. obtenez le ogr_sde.dll(compilez-le à partir de Tamas, vous avez également besoin de certains fichiers SDK ArcSDE)
  2. remplacez le gdal18.dllutilisé par qgis par celui que vous avez compilé ci-dessus
  3. mettre ogr_sde.dllenC:\OSGeo4W\bin\gdalplugins\1.8
  4. créer un .vrtfichier avec votre connexion ArcSDE et les détails de la classe d'entités
  5. ajoutez le vrt à QGIS, et le tour est joué!

La chose est, ogr prend beaucoup de temps pour se connecter. Mais la visualisation est OK. Juste la partie de connexion est beaucoup trop lente. Peut-être que quelqu'un trouvera un paramètre pour la connexion pour l'accélérer.

EDIT: vous avez oublié aussi de copier les DLL suivantes de votre compilation à l' étape 1: xerces-c_28.dll, spatiallite.dllet openjpeg.dll. Vous devez également les ArcSDE libs: sde.dll, sg.dllet pe.dll. Mettez-les simplement C:\OSGeo4W\bin.

EDIT 2: plus d'informations ici: http://www.qgis.org/wiki/Connecting_to_ArcSDE_databases .

EDIT 3: le temps de connexion n'est plus un problème. Juste une question de chaîne de connexion correcte dans le vrt. Voir le lien pour des exemples.


Si vous voulez des rasters SDE, vous voulez aussi le gdal_sde.dll ...
Howard Butler

En réponse à une plainte, je viens de supprimer le lien Tamas, qui est allé à une bonne ressource quand il a été initialement publié, mais va maintenant à une page 404 qui annonce du contenu répréhensible. Connaissez-vous un site actuel pour cela?
Pops du

2

Si vous utilisez Postgres comme base de données d'arrière-plan d'ArcSDE, vous avez la possibilité de stocker des données spatiales dans ST_Geometry (format spatial SDE) ou PG_Geometry (format spatial PostGIS). Si vous stockez les données dans une base de données compatible PostGIS et spécifiez l'option PG_Geometry lorsque vous importez les données (vous pouvez éventuellement modifier dbtune, je crois, pour définir PG_Geometry par défaut), vous pourrez vous connecter aux données via une connexion SDE ou via un client de bureau qui peut se connecter directement à PostGIS (tel que QGIS)


-3

Il n'y a actuellement aucun moyen. Si vous deviez utiliser l'un des outils FOSS4G basés sur Java, il devrait être possible d'utiliser le connecteur SDE dans les géotools. Je pense que c'est ainsi que le géoserveur se connecte à SDE.

Il n'y a actuellement aucun fournisseur de données dans le monde C ++ qui se connecte à QGIS


Hé les gens - avant de voter plus bas. Veuillez regarder la date à laquelle j'ai répondu.
TheSteve0

Je soupçonne que cela fait l'objet d'un vote négatif car c'est une réponse qui semble ne plus être valable. S'il n'est plus valide, je recommanderais de le supprimer. Si elle est toujours, ou pourrait être révisée pour redevenir, actuelle, cela devrait aider à inverser les votes négatifs.
PolyGeo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.