Mengimpor GDAL dari jendela Python ArcGIS untuk Desktop?


10

Saya mencoba menjalankan beberapa kode Python menggunakan jendela Python di ArcGIS 10.1 yang menggunakan kedua modul arcpydan gdal. Namun, ketika saya mencoba dan mengimpor gdalmodul saya mendapatkan kesalahan:

ImportError: No module named osgeo

Jelas itu tidak dapat menemukan modul, jadi saya telah menambahkan direktori paket-situs python utama saya ke sys.pathdaftar:

sys.path.append(r"C:\Python27\lib\site-packages")

Namun, ketika saya mencoba dan menjalankan import osgeoatau from osgeo import gdalsaya mendapatkan kesalahan berikut:

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.

Saya telah menemukan berbagai sumber daya di internet yang sepertinya membicarakan masalah yang sama (misalnya pertanyaan ini dan posting forum ini , tetapi mereka tampaknya ketinggalan zaman (mis. Tidak menggunakan ArcGIS 10.1) atau tidak menanyakan hal yang sama persis pertanyaan.

Tentu saja, mengimpor osgeodari jendela Python non-Arc normal berfungsi dengan baik, dan saya telah membandingkan sys.pathdan os.environ['PATH']antara skrip dan memperbaruinya sehingga mereka sama, dan tampaknya tidak memperbaiki masalah.

Adakah yang tahu bagaimana saya bisa membuatnya bekerja?


Saya telah mendengar cerita tentang orang yang membuat GDAL bekerja di antarmuka python ArcGIS sebelumnya. Beberapa pertanyaan: Metode apa yang Anda gunakan untuk menginstal GDAL dan Anda yakin Anda telah menginstal binding windows yang benar dan mengatur dengan benar? Dan sudahkah Anda menginstal binding python ke ArcGIS python install?
James Milner

Sepertinya Anda memiliki versi lain (2,7) dari Python diinstal selain versi (2,6) yang diinstal oleh ArcGIS 10. Apakah Anda menginstal GDAL untuk 2.6 juga atau Anda mencoba mengarahkannya ke versi yang diinstal untuk 2.7? Apakah 2,7 Anda menginstal instalasi 64-bit?
Jason

@Jason: Saya menggunakan ArcGIS 10.1, yang menurut gis.stackexchange.com/questions/22271/… menggunakan Python 2.7. Apakah Anda tahu itu benar?
robintw

1
@Robintw ada banyak cara untuk menginstal GDAL untuk python. Mungkin Anda bisa menautkan saya ke executable yang Anda gunakan dan bagaimana Anda mengaturnya?
James Milner

2
Saya baru saja berhasil menyelesaikan pertanyaan - Saya berhasil ketinggalan membaca bit di atas di mana @Jason bertanya apakah saya menggunakan instalasi 64-bit dari Python 2.7. Jawabannya adalah instal utama Python 2.7 saya adalah 64-bit, tetapi instalasi Arc adalah 32-bit, jadi saya harus menginstal versi GDAL 32-bit, dan sekarang berfungsi dengan baik. Terima kasih semuanya - saya akan menambahkan solusi terakhir saya sebagai jawaban.
robintw

Jawaban:


5

@robintw telah mengkonfirmasi di komentar .


ImportError: DLL load failed: %1 is not a valid Win32 application.

Dari kesalahan, tampaknya instalasi Python 2.7 Anda 64-bit. Anda harus menginstal versi Python dan GDAL 32-bit.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.