Bagaimana cara menginstal binding GDAL untuk C # /. NET 4.5.1?

8

Saya mencoba menggunakan binding C # gdal tetapi saya mendapatkan kesalahan dalam kode C # saya yang mengatakan "Tidak dapat memuat DLL 'gdal_wrap': Modul yang ditentukan tidak dapat ditemukan. (Pengecualian dari HRESULT: 0x8007007E)".

Saya telah melihat dependensi untuk gdal_csharp.dll dan semuanya terlihat baik-baik saja. Dua hal yang menonjol adalah bahwa csharp dll adalah 32 bit dll, sementara semua dependensi adalah untuk sistem 64 bit (mesin saya memiliki CPU 64 bit). Juga, file ieshims.dll terdaftar sebagai dependensi, tetapi dari apa yang saya kumpulkan, itu tidak sepenuhnya perlu diinstal.

Saya sudah mencoba menginstal file secara manual melalui file zip dan juga menggunakan installer .msi untuk pustaka inti gdal. Saya memastikan untuk menambahkan path ke executable gdal ke path sistem saya.

Saya mengunduh binari dari sini: http://www.gisinternals.com/query.html?content=filelist&file=release-1800-x64-gdal-1-11-1-mapserver-6-4-1.zip

Dan saya kira-kira mengikuti panduan ini untuk instruksi instalasi: http://vipassanaandenvironmentalinformatics.blogspot.co.nz/2013/03/getting-started-with-c-and-gdal.html

Saya menggunakan Visual Studio 2013, di mana binari tersedia di situs di atas.

Andre Lashley
sumber
2
Apakah pertanyaan ini membantu? stackoverflow.com/q/14353502/2258
Richard Morgan
Terima kasih telah memposting pertanyaan itu, saya meletakkan gdal_wrap.dll ke dalam dependensi walker dan ternyata ada dependensi yang hilang yang disebut gdal111.dll, saya akan mencoba melacak ini dan memposting pembaruan tentang kemajuan saya.
Andre Lashley
@AndreLashley Saya mendapatkan masalah yang sama dengan tidak dapat memuat gdal_wrap. Ada saran?
Stealth Rabbi
@ StealthRabbi Saya akhirnya menggunakan alat baris perintah gdal melalui OSGEO4W dan kode C #. Jauh lebih mudah untuk mengatur dengan cara ini. Tapi tentu saja Anda tidak mendapatkan semua manfaat menggunakan perpustakaan C # gdal.
Andre Lashley
1
Tidak tahu apakah Anda pernah memecahkan ini, tetapi ini muncul untuk saya yang mencoba menyelesaikan masalah yang sama, dan saya akhirnya menambahkan jawaban ke tautan pertanyaan SO dalam komentar nomor satu yang memecahkan masalah. Jika itu membantu saya dengan senang hati akan mempostingnya sebagai pertanyaan pada pertanyaan ini juga. SO-GIS sepertinya merupakan tempat yang lebih tepat.
shawty

Jawaban:

7

Dapatkan paket dari NuGet dan kemudian Anda perlu memanggil metode statis GdalConfiguration.ConfigureGdal()dari GdalConfiguration.cs/vbsaat startup untuk mengatur variabel lingkungan proses. Panggil GdalConfiguration.ConfigureOgr()jika Anda ingin menggunakan OGR juga.

maeneak
sumber