Is anyone aware of any plugins, or any other way to connect and view data from an ArcSDE database in QGIS desktop?
4 Answers
I am glad to say I have it working! I'm using QGIS 1.7 from OSGeo4W:
- get the
ogr_sde.dll(compile it from Tamas, you also need some ArcSDE SDK files) - replace the
gdal18.dllused by qgis with the one you compiled above - put
ogr_sde.dllinC:\OSGeo4W\bin\gdalplugins\1.8 - create a
.vrtfile with your ArcSDE connection and feature classe details - add the vrt to QGIS, and voila!
Thing is, ogr takes a long time to connect. But viewing is OK. Just the connecting part is way too slow. Maybe someone will figure out a parameter for the connection to speed it up.
EDIT: forgot you also have to copy the following DLLs from your compilation in step 1: xerces-c_28.dll, spatiallite.dll and openjpeg.dll. You also need the ArcSDE libs: sde.dll, sg.dll, and pe.dll. Just put them in C:\OSGeo4W\bin.
EDIT 2: more info here: http://www.qgis.org/wiki/Connecting_to_ArcSDE_databases.
EDIT 3: the conection time is no longer a problem. Just a matter of correct connection string in the vrt. See the link for examples.
- 101
- 3
- 416
- 5
- 8
-
-
In response to a complaint, I just removed the Tamas link, that went to a good resource when it was originally posted but now goes to a 404 page that advertises some objectionable content. Do you know of a current site for it? – Pops Mar 17 '15 at 16:30
It may be possible to build a bridge through GDAL/OGR's ArcSDE driver. It's not compiled in by default and needs some pieces of the ESRI SDE C API to connect. So to build this driver you need to have a copy of the SDE C API developer kit from ESRI. If memory serves, there is a pre-compiled sde driver floating around that can use ArcInfo Workstation installed on the local machine in place of the SDK.
Sources:
- 1,096
- 2
- 9
- 14
- 28,176
- 35
- 147
- 280
-
I think the ArcInfo thing was only for reading ArcInfo binary coverages from GDAL. It has long since been deprecated. – Howard Butler Sep 29 '11 at 14:44
If you use Postgres as your backend DB of ArcSDE, you have the option of storing spatial data in ST_Geometry (SDE spatial format) or PG_Geometry (PostGIS spatial format). If you store the data in PostGIS enabled DB and specify the PG_Geometry option when you import the data (optionally you can edit dbtune, I believe, to set PG_Geometry as the default), you will be able to connect to the data via an SDE connection or via a desktop client that can connect directly to PostGIS (such as QGIS)
- 661
- 6
- 11
There is currently no way. If you were to use one of the Java based FOSS4G tools it should be possible using the SDE connector in geotools. I think this is how geoserver connects to SDE.
There is currently no data provider in the C++ world that plugs in to QGIS
- 2,314
- 2
- 20
- 23
-
Hey folks - before you downvote this more. Please look at the date when I answered this. – TheSteve0 Mar 20 '15 at 00:44
-
I suspect that this is getting downvoted because it is an answer that appears to be no longer valid. If it is no longer valid, then I would recommend deleting it. If it is still, or could be revised to once again become, current then that should help reverse the downvotes. – PolyGeo Sep 22 '15 at 05:03
SDEBINARYrather than the native oracleSDO_GEOMETRYorST_GEOMETRYdata types I think the only way to read it would be through ArcSDE? We have this issue with Geoserver where only the tables setup withSDO_GEOMETRYcan be viewed with the Oracle connection, for our other legacy data we have to use the ArcSDE plugin. – kes May 30 '16 at 08:55