Abrindo o banco de dados geográfico pessoal Esri (* .mdb) usando o QGIS?

11

É possível abrir um banco de dados geográfico pessoal da Esri (* .mdb; ArcGIS 10.2) no QGIS 2.6? Versões anteriores estavam certas.

David
fonte
3
Você já tentou isso e recebeu um erro ou está perguntando se existe uma opção disponível para abrir o ESRI PGDB no QGIS 2.6? A opção está disponível em Camada > Adicionar camada > Adicionar camada vetorial > Banco de dados > selecione ESRI Personal GeoDatabase como Tipo
Joseph
Você está usando a versão de 64 bits do QGIS no Windows?
NmToken
Eu tentei fazer isso, mas não me permite salvar o arquivo qgis.bat com as alterações. Qualquer ideia? Obrigado
NandoSC

Respostas:

21

Se você instalou uma versão de 64 bits do QGIS no Windows e descobriu que o Personal GeoDatabases (* .mdb) não funciona mais para você, essa solução pode ser aplicada; Estou no QGIS 2.8.1 em vez de 2.6, mas presumo que o problema e, portanto, a solução sejam os mesmos.

O problema subjacente está relacionado a esse bug do GDAL: Problema ao ler MDBs (64 bits)

Passo 1

Baixe a versão de 64 bits do driver ODBC: Microsoft Access Database Engine 2010 Redistributable

Se você não possui uma versão de 32 bits do office instalada, basta executar o executável. No entanto, se você possui uma instalação de escritório de 32 bits, será necessário executar o executável em um prompt de comando usando a /passiveopção

Instalando o Access Database Engine 2010 de 64 bits redistribuível no modo passivo

Passo 2

Localize o arquivo qgis.bat (o meu está, C:\OSGeo4W64\bin\qgis.batpor exemplo).

Adicione as duas linhas seguintes:

set OGR_SKIP=ODBC
set PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%%s

etapa 3

Abra o QGIS e arraste o arquivo mdb para o seu espaço de trabalho

Voila!

nmtoken
fonte
Isso funcionou para mim no QGIS 3.0.0 de 64 bits no Windows 8.1.
21918 Brian Fisher
7

Desde que você tenha instalado com êxito o Microsoft Access Database Engine de 64 bits, você pode:

Método 1 (funciona com QGIS 2)

adicione as duas linhas seguintes:

set OGR_SKIP=ODBC
set PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%%s

no seu qgis.bat / qgis-grass7.bat / qgis-ltr.bat / qgis-ltr-grass7.bat antes da última linha, isso geralmente é algo como

start "QGIS" /B "%OSGEO4W_ROOT%"\bin\qqis...

[observe que há dois sinais de porcentagem no valor da variável PGEO_DRIVER_TEMPLATE]

Método 2 (funciona com QGIS 3)

No painel Configurações do QGIS -> Opções | Sistema | Ambiente, adicione as seguintes duas variáveis:

variable name: OGR_SKIP 
value: ODBC

variable name: PGEO_DRIVER_TEMPLATE 
value: DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s

e marque a caixa de seleção "Usar variáveis ​​personalizadas"

[observe que, nesse caso, há apenas um sinal de porcentagem no valor da variável PGEO_DRIVER_TEMPLATE]

Método 3 (funciona com QGIS 2 e QGIS 3)

No painel Variáveis ​​de ambiente das Configurações avançadas do sistema do Windows, defina as duas novas variáveis ​​a seguir como Variáveis ​​do usuário ou Variáveis ​​do sistema:

variable name: OGR_SKIP 
value: ODBC

variable name: PGEO_DRIVER_TEMPLATE 
value: DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s

[observe que também neste caso há apenas um sinal de porcentagem no valor da variável PGEO_DRIVER_TEMPLATE]

Andrea Giudiceandrea
fonte
Para mim, ele funciona para ESRI .mdb, mas não tenho certeza também para geomedia mdb? Alguém tem experiência com esse tipo de arquivos
Roberto Marzocchi
1

A solução proposta também funciona bem no Windows 10. Apenas mais uma sugestão para adicionar as duas linhas ao arquivo qgis.bat.

As duas linhas estão configuradas. Portanto, é importante adicionar as linhas antes do início do comando.

Provavelmente não é bom, mas se você não tomar cuidado, existe o risco de ser enganado.

Roberto Marzocchi
fonte
Como essa é a resposta mais recente, quero comentar que funciona, mas só consigo carregar as classes de recurso (camada vetorial), mas não vejo como carregar as tabelas e os relacionamentos contidos no mdb. Conjuntos de dados de recursos também são ignorados.
Nanunga