Wie installiere ich die GDAL-Bindungen für C # /. NET 4.5.1?

8

Ich versuche, die C # gdal-Bindungen zu verwenden, erhalte jedoch eine Fehlermeldung in meinem C # -Code mit der Meldung "DLL 'gdal_wrap' kann nicht geladen werden: Das angegebene Modul wurde nicht gefunden (Ausnahme von HRESULT: 0x8007007E)".

Ich habe mir die Abhängigkeiten für gdal_csharp.dll angesehen und alles sieht in Ordnung aus. Zwei Dinge, die auffielen, waren, dass die csharp-DLL eine 32-Bit-DLL ist, während alle Abhängigkeiten für ein 64-Bit-System gelten (mein Computer hat eine 64-Bit-CPU). Auch die Datei ieshims.dll wurde als Abhängigkeit aufgeführt, aber soweit ich weiß, ist es nicht unbedingt erforderlich, dass sie installiert wird.

Ich habe versucht, die Dateien manuell über eine Zip-Datei zu installieren und auch das MSI-Installationsprogramm für die GDAL-Kernbibliotheken zu verwenden. Ich habe sichergestellt, dass die Pfade zu den ausführbaren Dateien von gdal zu meinem Systempfad hinzugefügt werden.

Ich habe die Binärdateien von hier heruntergeladen: http://www.gisinternals.com/query.html?content=filelist&file=release-1800-x64-gdal-1-11-1-mapserver-6-4-1.zip

Und ich habe diese Anleitung für Installationsanweisungen grob befolgt: http://vipassanaandenvironmentalinformatics.blogspot.co.nz/2013/03/getting-started-with-c-and-gdal.html

Ich verwende Visual Studio 2013, für das die Binärdateien auf der obigen Site verfügbar sind.

Andre Lashley
quelle
2
Hilft diese Frage? stackoverflow.com/q/14353502/2258
Richard Morgan
Vielen Dank, dass Sie diese Frage gestellt haben. Ich habe die Datei gdal_wrap.dll in den Abhängigkeits-Walker gestellt. Es stellt sich heraus, dass eine Abhängigkeit namens gdal111.dll fehlt. Ich werde versuchen, diese aufzuspüren und ein Update über meinen Fortschritt zu veröffentlichen.
Andre Lashley
@AndreLashley Ich habe das gleiche Problem mit der Unfähigkeit, gdal_wrap zu laden. Irgendwelche Vorschläge?
Stealth Rabbi
@StealthRabbi Am Ende habe ich die Befehlszeilentools von gdal über OSGEO4W und C # -Code verwendet. Es war viel einfacher, auf diese Weise einzurichten. Aber natürlich erhalten Sie nicht alle Vorteile der Verwendung der C # gdal-Bibliotheken.
Andre Lashley
1
Ich weiß nicht, ob Sie dies jemals gelöst haben, aber es stellte sich heraus, dass ich versuchte, dasselbe Problem zu lösen, und ich fügte schließlich eine Antwort auf den SO-Fragenlink in Kommentar Nummer eins hinzu, der das Problem löste. Wenn es hilft, werde ich es auch gerne als Frage zu dieser Frage posten. SO-GIS scheint sowieso ein geeigneterer Ort zu sein.
Shawty

Antworten:

7

Holen Sie sich das Paket von NuGet und dann müssen Sie statische Methode aufrufen GdalConfiguration.ConfigureGdal()aus GdalConfiguration.cs/vbbeim Start eingestellten Prozessumgebungsvariablen. Rufen GdalConfiguration.ConfigureOgr()Sie an, wenn Sie auch OGR verwenden möchten.

Maeneak
quelle