Como instalo as ligações GDAL para C # / .NET 4.5.1?

8

Estou tentando usar as ligações c # gdal, mas recebo um erro no meu código c # que diz "Não foi possível carregar a DLL 'gdal_wrap': O módulo especificado não pôde ser encontrado. (Exceção de HRESULT: 0x8007007E)".

Eu dei uma olhada nas dependências do gdal_csharp.dll e tudo parece bem. Duas coisas que se destacaram foram que a dll csharp é uma dll de 32 bits, enquanto todas as dependências são para um sistema de 64 bits (minha máquina possui uma CPU de 64 bits). Além disso, o arquivo ieshims.dll foi listado como uma dependência, mas, pelo que entendi, não é estritamente necessário que ele seja instalado.

Eu tentei instalar os arquivos manualmente através de um arquivo zip e também usando o instalador .msi para as bibliotecas gdal core. Fiz questão de adicionar os caminhos aos executáveis ​​gdal no caminho do meu sistema.

Eu baixei os binários aqui: http://www.gisinternals.com/query.html?content=filelist&file=release-1800-x64-gdal-1-11-1-mapserver-6-4-1.zip

E eu segui aproximadamente este guia para obter instruções de instalação: http://vipassanaandenvironmentalinformatics.blogspot.co.nz/2013/03/getting-started-with-c-and-gdal.html

Estou usando o Visual Studio 2013, para o qual os binários estão disponíveis no site acima.

Andre Lashley
fonte
2
Esta pergunta ajuda? stackoverflow.com/q/14353502/2258
Richard Morgan
Obrigado por postar essa pergunta, eu coloquei o gdal_wrap.dll no caminhante da dependência e verifica-se que existe uma dependência ausente chamada gdal111.dll. Tentarei rastrear isso e postar uma atualização sobre o meu progresso.
21815 Andre Lashley
@AndreLashley Estou com o mesmo problema ao não conseguir carregar o gdal_wrap. Alguma sugestão?
Rabino Stealth
@StealthRabbi Acabei usando as ferramentas de linha de comando gdal via código OSGEO4W e C #. Era muito mais fácil configurar dessa maneira. Mas é claro que você não obtém todos os benefícios de usar as bibliotecas C # gdal.
Andre Lashley
1
Não sei se você alguma vez resolveu isso, mas isso me ocorreu tentando resolver o mesmo problema, e acabei adicionando uma resposta ao link da pergunta SO no comentário número um que resolveu o problema. Se ajudar, eu também o publicarei como uma pergunta sobre essa questão. SO-GIS parece um lugar mais apropriado de qualquer maneira.
shawty

Respostas:

7

Obter o pacote do NuGet e então você precisa chamar o método estático GdalConfiguration.ConfigureGdal()de GdalConfiguration.cs/vbna inicialização para variáveis ambientais conjunto de processos. Ligue GdalConfiguration.ConfigureOgr()se quiser usar o OGR também.

Maeneak
fonte