¿Cómo instalo los enlaces GDAL para C # /. NET 4.5.1?

8

Estoy tratando de usar los enlaces gdal C # pero aparece un error en mi código C # que dice "No se puede cargar la DLL 'gdal_wrap': no ​​se pudo encontrar el módulo especificado. (Excepción de HRESULT: 0x8007007E)".

He echado un vistazo a las dependencias de gdal_csharp.dll y todo parece estar bien. Sin embargo, dos cosas que se destacaron fueron que el dll csharp es un dll de 32 bits, mientras que todas las dependencias son para un sistema de 64 bits (mi máquina tiene una CPU de 64 bits). Además, el archivo ieshims.dll figuraba como una dependencia, pero por lo que deduzco, no es estrictamente necesario que esté instalado.

He intentado instalar los archivos manualmente a través de un archivo zip y también usando el instalador .msi para las bibliotecas de gdal core. Me aseguré de agregar las rutas a los ejecutables de gdal a la ruta de mi sistema.

Descargué los binarios desde aquí: http://www.gisinternals.com/query.html?content=filelist&file=release-1800-x64-gdal-1-11-1-mapserver-6-4-1.zip

Y seguí esta guía para las instrucciones de instalación: http://vipassanaandenvironmentalinformatics.blogspot.co.nz/2013/03/getting-started-with-c-and-gdal.html

Estoy usando Visual Studio 2013, para el cual los binarios están disponibles en el sitio anterior.

Andre Lashley
fuente
2
¿Ayuda esta pregunta? stackoverflow.com/q/14353502/2258
Richard Morgan
Gracias por publicar esa pregunta, puse el gdal_wrap.dll en el caminante de dependencias y resulta que falta una dependencia llamada gdal111.dll, intentaré rastrear esto y publicar una actualización de mi progreso.
Andre Lashley
@AndreLashley Tengo el mismo problema al no poder cargar gdal_wrap. ¿Alguna sugerencia?
Stealth Rabbi
@StealthRabbi Terminé usando las herramientas de línea de comando gdal a través de OSGEO4W y el código C #. Fue mucho más fácil de configurar de esta manera. Pero, por supuesto, no obtienes todos los beneficios de usar las bibliotecas de gdal C #.
Andre Lashley
1
No sé si alguna vez resolvió esto, pero esto resultó para mí tratando de resolver el mismo problema, y ​​terminé agregando una respuesta al enlace de la pregunta SO en el comentario número uno que resolvió el problema. Si ayuda, felizmente lo publicaré como una pregunta sobre esta pregunta también. SO-GIS parece un lugar más apropiado de todos modos.
Shawty

Respuestas:

7

Obtenga el paquete de NuGet y luego debe llamar al método estático GdalConfiguration.ConfigureGdal()desde el GdalConfiguration.cs/vbinicio para configurar las variables ambientales del proceso. Llama GdalConfiguration.ConfigureOgr()si quieres usar OGR también.

maeneak
fuente