É possível conectar-se ao ArcSDE usando o QGIS?

13

Alguém conhece algum plug-in ou qualquer outra maneira de conectar e visualizar dados de um banco de dados ArcSDE na área de trabalho QGIS?

Zachary
fonte
Você pode conectar-se diretamente ao banco de dados subjacente (PostGIS, Oracle ou geodatabase pessoal), não deve haver necessidade (e talvez nenhuma maneira) de usar o ArcSDE como middleware.
Underdark
Como o MapServer faz isso? É baseado em C e OGR, e o QGIS também. Talvez exista uma maneira como Matt Wilkie diz.
Duarte Carreira
Se os dados espaciais são armazenados no SDEBINARYoracle nativo SDO_GEOMETRYou ST_GEOMETRYnos tipos de dados, acho que a única maneira de lê-los seria através do ArcSDE? Temos esse problema com o Geoserver, onde apenas as tabelas configuradas SDO_GEOMETRYpodem ser visualizadas com a conexão Oracle. Para nossos outros dados herdados, precisamos usar o plug-in ArcSDE.
kes 30/05

Respostas:

4

Pode ser possível construir uma ponte através GDAL / OGR do condutor Arcsde . Ele não é compilado por padrão e precisa de algumas partes da API ESRI SDE C para conectar-se. Portanto, para criar esse driver, é necessário ter uma cópia do kit de desenvolvedor da API SDE C da ESRI. Se a memória servir, existe um driver sde pré-compilado flutuando que pode usar o ArcInfo Workstation instalado na máquina local no lugar do SDK.

Fontes:

Matt Wilson
fonte
Eu acho que a coisa do ArcInfo era apenas para ler coberturas binárias do ArcInfo do GDAL. Há muito que foi preterido.
Howard Butler
6

Fico feliz em dizer que estou funcionando! Estou usando o QGIS 1.7 do OSGeo4W:

  1. pegue o ogr_sde.dll (compile a partir do Tamas, você também precisa de alguns arquivos ArcSDE SDK)
  2. substitua o gdal18.dll usado pelo qgis pelo que você compilou acima
  3. colocar ogr_sde.dll emC:\OSGeo4W\bin\gdalplugins\1.8
  4. criar uma .vrt arquivo com sua conexão ArcSDE e detalhes da classe de recurso
  5. adicione o vrt ao QGIS e pronto!

A coisa é que o ogr leva muito tempo para se conectar. Mas a visualização está correta. Apenas a parte de conexão é muito lenta. Talvez alguém descubra um parâmetro para a conexão acelerar.

EDIT: esqueceu-se você também tem que copiar os seguintes DLLs de sua compilação na etapa 1: xerces-c_28.dll, spatiallite.dlle openjpeg.dll. Você também precisa das libs ArcSDE: sde.dll, sg.dll, e pe.dll. Basta colocá-losC:\OSGeo4W\bin .

EDIT 2: mais informações aqui: http://www.qgis.org/wiki/Connecting_to_ArcSDE_databases .

EDIT 3: o tempo de conexão não é mais um problema. Apenas uma questão de seqüência de conexão correta no vrt. Veja o link para exemplos.

Duarte Carreira
fonte
Se você quiser rasters SDE, você quer o gdal_sde.dll bem ...
Howard Butler
Em resposta a uma reclamação, acabei de remover o link Tamas, que foi para um bom recurso quando foi originalmente publicado, mas agora vai para uma página 404 que anuncia algum conteúdo censurável. Você conhece um site atual para isso?
Pops
2

Se você usa o Postgres como seu banco de dados back-end do ArcSDE, você tem a opção de armazenar dados espaciais em ST_Geometry (formato espacial SDE) ou PG_Geometry (formato espacial PostGIS). Se você armazenar os dados no banco de dados habilitado para PostGIS e especificar a opção PG_Geometry ao importar os dados (opcionalmente, você pode editar o dbtune, acredito, para definir PG_Geometry como o padrão), você poderá se conectar aos dados por meio de uma conexão SDE ou através de um cliente de desktop que pode se conectar diretamente ao PostGIS (como QGIS)

wilsongis
fonte
-3

Atualmente não há como. Se você fosse usar uma das ferramentas FOSS4G baseadas em Java, seria possível usar o conector SDE no geotools. Eu acho que é assim que o geoserver se conecta à SDE.

Atualmente, não há provedor de dados no mundo C ++ que se conecte ao QGIS

TheSteve0
fonte
Ei pessoal - antes que você diminua esse voto mais. Por favor, olhe a data em que eu respondi isso.
TheSteve0
Suspeito que isso esteja diminuindo o voto porque é uma resposta que parece não ser mais válida. Se não for mais válido, recomendo excluí-lo. Se ainda estiver, ou puder ser revisado para se tornar novamente uma corrente, isso deve ajudar a reverter os votos negativos.
PolyGeo