Menginstal GDAL dengan Python di windows?


92

Adakah yang bisa menjelaskan cara menginstal GDAL / OGR dengan Python di Windows?

Saya memiliki Windows Vista dan saya telah mencoba mengikuti informasi di situs web dan sepertinya tidak mengikat file exe untuk saya.

Dapatkah seseorang menjelaskan prosesnya, termasuk tautan ke file / folder yang saya perlukan?

Saya sekarang telah mencoba menjalankan pengaturan gdal dengan minGW, tetapi ini juga gagal:

GDAL_FAIL

Jawaban:


63

Kecuali Anda memiliki alasan yang kuat untuk tidak melakukannya, saya pasti akan merekomendasikan mulai dengan penginstal OSGeo4W , yang dapat menginstal berbagai versi GDAL dan binding Python yang relevan. Ini berfungsi dengan baik dan secara dramatis menyederhanakan kisah penerapan Windows. Khususnya, Anda ingin menginstal pkg-gdal-python , yang ada di dalam 'Libs' di pohon installer.


8
Jadi saya menggunakan installer OSGeo4W untuk menginstal gdal dan kemudian mencoba antarmuka command line kecil mereka, tetapi masih tidak dapat menggunakan python untuk melakukan hal berikut: import gdal
GuidoS

7
OSGEO4W menginstal instance Python sendiri di bawah root OSGEO4W. Untuk menggunakan Python yang menyertakan gdal dan semua modul OSGEO lainnya, buka shell start OSGEO4W> file program> osgeo4w. Luncurkan Python atau jalankan skrip Python dari sana.
DavidF

8
Cobafrom osgeo import gdal
DavidF

3
@scw, harap pertimbangkan untuk menggulung contoh dari komentar ke dalam jawaban Anda. Ini akan membuatnya lebih mudah untuk menyatukan informasi yang relevan menjadi satu kesatuan yang utuh (sebagian karena dapat mempertahankan pemformatan kode). Pilih komentar yang Anda gunakan sebagai sarana untuk mengkredit dan mengakui sumbernya.
matt wilkie

6
Apakah ada cara untuk menggunakan "dari osgeo import gdal" dari shell python utama saya alih-alih menggunakan shell OSGEO?
Alexis Eggermont

58

Anda dapat mengunduh paket roda GDAL dari Windows Binaries tidak resmi Christoph Gohlke untuk Paket Ekstensi Python .

Itu dapat diinstal dari cmd.exe menggunakan sesuatu seperti:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Anda harus menginstal NumPy dari tempat yang sama menggunakan perintah serupa)

Walaupun paket ini tidak dibangun oleh pengembang OSGeo atau GDAL, itu adalah distribusi berkualitas tinggi dengan dukungan untuk versi terbaru GDAL yang dikompilasi untuk versi Python 32-bit dan 64-bit. Tidak ada perpustakaan eksternal yang perlu ditambahkan atau dikelola!

Perbarui itu bahkan mengatur GDAL_DATAvariabel lingkungan, jika tidak disetel, dan termasuk PostgreSQLdriver untuk membaca data dari PostGIS.


2
+1 Saya telah menemukan halaman itu sumber yang tak ternilai dari distribusi Python untuk Windows 64-bit
geografi

1
Saya mengalami kesulitan dengan penginstal ini berfungsi karena gagal mendeteksi instalasi python saya. Saya telah menginstal python26 dan python27 C:/Python2Xtetapi tidak dapat menemukannya .... Nevermind! Pilih 64 bit alih-alih 32 ....
djq

Ini bekerja untuk saya jauh lebih mudah daripada jawaban yang diterima karena saya tidak ingin menginstal Python dan Numpy.
Ahmed Fasih

Baris-baris ini sekarang disertakan dengan instalasi.
Barbarossa

terima kasih @Barbarossa, saya telah memperbarui jawaban ini untuk mencerminkan status paket saat ini.
Mike T

15

Pilihan lain adalah menginstal distribusi Anaconda Python yang memiliki paket untuk GDAL. Jika Anda akan melakukan banyak pekerjaan menggunakan GDAL dengan paket Python lainnya (scipy, panda, scikit-learn dll.), Ini mungkin merupakan opsi yang lebih baik daripada OSGeo4W. Di sisi lain jika Anda ingin menggunakan Python dalam kombinasi dengan sejumlah penginderaan jauh open source dan paket GIS (GRASS, QGIS dll,) OSGeo4W mungkin merupakan opsi yang lebih baik.

Anda bisa mendapatkan distribusi Anaconda lengkap dari: https://www.continuum.io/downloads yang berisi banyak paket Python yang ditujukan untuk 'ilmu data' atau instalasi minimal dari http://conda.pydata.org/miniconda. html

Sebagai bagian dari instalasi, ia akan meminta Anda untuk menambahkan ke jalur utama (sehingga tersedia dari terminal mana pun).

Setelah mengatur GDAL dapat diinstal ke lingkungan baru menggunakan:

conda create -n gdal_env -c conda-forge gdal

Kemudian aktifkan itu sebagai show ketika perintah selesai. Menginstal ke lingkungan baru disarankan untuk menghindari konflik dengan paket lain dan memastikan variabel lingkungan yang diperlukan ditetapkan.

Saya telah menyarankan menginstal dari saluran conda-forge ( https://conda-forge.github.io/ ) karena mereka sangat aktif dalam menjaga GDAL mereka tetap up to date dan memastikan mereka bekerja melawan banyak perpustakaan.

Setelah paket yang diinstal dapat diperbarui dari dalam lingkungan menggunakan:

conda update gdal

1
Ini jelas merupakan metode termudah, terutama jika Anda berencana untuk menginstal paket Python kompleks lainnya (mis. Scikit-learn, numpy)
bgordon

1
Ini bagus! Terutama bagus b / c Anda dapat menjalankannya melalui baris perintah dan juga melalui python.
mmann1123

Anda juga dapat menginstalnya dengan masuk ke "Lingkungan" dan memilih lingkungan yang ingin digunakan. Kemudian cari "gdal" di "Semua" paket
Goncalo Peres


9

Saya menemukan OSGEO4W solusi yang buruk karena ia menciptakan seluruh dunia paralel, hampir seperti mesin virtual. Saya dapat menginstal GDAL dan menggunakannya dalam python mengikuti langkah-langkah yang dijelaskan di sini (ini adalah tautan yang disediakan oleh @ sys49152).

Ini mengirim Anda ke gisinternals.com. Ambil tautan ke "rilis stabil" untuk sampai ke: http://www.gisinternals.com/release.php

Sekarang Anda harus memilih antara 32 dan 64 bit dan berbagai versi kompiler Microsoft Visual C ++. Perhatikan bahwa ini harus sesuai dengan versi python Anda, bukan OS Anda. Dalam kasus saya, saya memiliki windows 64 bit, tetapi python 2,7 bit 32 (yang dikirimkan dengan ArcGIS).

Untuk melihat apa yang Anda miliki, Anda dapat menjalankan python pada baris perintah dan pesan seperti ini:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Jadi saya perlu menggunakan "release-1500"

Saya memilih: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(nomor versi versi akan berubah seiring waktu)

Saya pertama kali mengunduh dan menginstal "Penginstal generik untuk komponen inti GDAL": gdal-111-1500-core.msi

Dan menambahkan path dan variabel lain seperti yang dijelaskan di sini .

Tambahkan ke jalur: C:\Program Files (x86)\GDAL Buat variabel lingkungan: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Kemudian, saya mengunduh dan menginstal modul python untuk python 2.7 GDAL-1.11.3.win32-py2.7.msi

Dan setelah itu, dengan python saya bisa melakukannya

from osgeo import gdal
ds = gdal.Open('file.tif')

dll.


Langkah demi langkah yang didokumentasikan dengan baik. Terima kasih.
Cotton.Rockwood

6

Saya tahu Penginstal OSGEO disebutkan, tetapi seperti yang dikatakan GuidoS, itu tidak berfungsi kecuali Anda menggunakan osgeow shell, yang bagus dan bagus jika yang Anda lakukan hanyalah python dasar. Kemungkinannya adalah jika Anda tidak, Anda harus menginstal ulang paket dan kemudian harus menjalankan aplikasi / plugin dari folder itu atau harus mengkompilasi semua dependensi untuk gdal dan menginstalnya lagi.

Apa yang berhasil untuk saya adalah:

  • Dalam PyDev / Eclipse (bukan IDE utama saya), saya menambahkan daftar perpustakaan ke penerjemah python default
  • Gunakan konsol bawaan untuk menjalankan file

3
Anda dapat mengatur o4w python sebagai sistem default python, misalnya membuatnya tersedia untuk semuanya, dengan menambahkannya ke sistem registry. Ada skrip python untuk melakukan ini pada windows 32-bit di trac.osgeo.org/osgeo4w/ticket/114 (64bit harus ditambahkan dengan tangan).
matt wilkie


5

Benar-benar tidak terlalu sulit untuk dilakukan. Saya telah mengompilasinya berkali-kali sebelum menggunakan Visual Studio tanpa masalah. Ikuti saja petunjuknya di sini: tautan teks .

Ini cukup mudah, hanya membaca makefile.vc yang didokumentasikan dengan baik dan mengatur direktori yang sesuai, terutama yang Python. Setelah itu dibangun Anda harus memiliki modul Python dibangun yang kemudian dapat Anda salin ke instalasi Python Anda, yang saya selalu lakukan secara sukarela, tetapi mungkin ada metode yang lebih tepat.


5

Dua jawaban teratas oleh @SCW dan @Mike Toews sangat bagus. Situs yang terdaftar oleh Mike adalah untuk binari tidak resmi - yang sangat berguna ketika 64 bit GDAL tidak tersedia (sesuai dengan waktu dia menulis balasannya), tetapi sekarang sudah beberapa lama. Saya telah menambahkan jawaban alternatif ini di sini karena, meskipun saya telah menyebutkannya berkali-kali, masih terus muncul dan wiki ini mungkin merupakan tempat yang lebih baik untuk menjelaskannya.

Jika Anda ingin menginstal hanya Binari GDAL untuk Python pada mesin windows saya akan mendapatkan installer dari Situs Internal GIS yang sangat baik . Situs ini ditautkan dari halaman resmi Binatu GDAL / OGR . Ini memberi Anda akses ke GDAL melalui instalasi Python normal tanpa perlu menggunakan shell osgeow. Binari di sini dikelola secara teratur dan dikompilasi dengan berbagai versi Visual Studio (jadi pilih tergantung pada runtimes apa yang telah Anda instal).


Tidak ada masalah sama sekali untuk menginstal beberapa runtime MSVC pada komputer yang sama. Jika Anda memerlukan driver khusus seperti ECW dan MrSid, perhatikan bahwa ada berbagai peluang yang dikompilasi di bawah plattform MSVC yang berbeda. Ikuti saja informationtautannya dan lihat perbedaannya.
AndreJ


2

Saya menggunakan FWTools di Windows XP. Ini termasuk instalasi Python dengan pustaka GDAL. Setelah instalasi, jalankan skrip Python Anda dari FWTools Shell .


1
FWTools adalah alat yang baik pada saat itu, tetapi sejak itu tidak ada pembaruan. Saya sarankan untuk beralih ke gisinternlas yang masih dipelihara secara aktif.
AndreJ


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.