Menginstal GDAL dan OGR untuk Python?


18

Saya mengembangkan beberapa kode dengan Python, dan saya ingin menggunakan binding python GDAL / OGR. Berapa minimum yang harus saya instal untuk menggunakan binding python GDAL dan OGR?

Apa cara termudah untuk menginstal GDAL / OGR jika saya hanya ingin menggunakannya dari Python?
Saya mencari jawaban yang berlaku untuk mac dan windows.

GDAL terdaftar dalam Python Package Index (PyPi) tetapi saya tidak mengerti cara menginstal dependensinya (libgdal dan file header untuk libgdal dan numpy). Mungkin yang perlu saya lakukan adalah menginstal numpy dan kemudian mendapatkan libgdal di suatu tempat, dan jika demikian, di mana? Apakah penginstalan windows memerlukan Windows Binaries selain libgdal dan file header?

Bagaimana saya bisa memastikan bahwa saya mendapatkan binding python yang tepat untuk versi Python saya (2.5, 2.6, 2.7, 3)?
Haruskah perubahan dibuat ke variabel lingkungan PATH untuk menggunakan GDAL dan OGR dari Python, atau bisakah semuanya diakses melalui folder paket situs saya dan importpernyataan umum ?

Pertanyaan-pertanyaan ini relevan dengan pertanyaan ini tetapi tidak menjawabnya:
menginstal GEOS, PROJ, GDAL / OGR ke dalam python virtualenv di Mac OS X
Bagaimana cara menginstal GDAL dengan Python di windows?

Saya harus perhatikan itu FWTools , OSGeo4W , dan kyngchaos menawarkan ogr dan gdal dengan binding python dan sangat baik, tetapi FWTools dan OSGeo4W dikirimkan dengan python mereka sendiri, daripada bertindak sebagai perpustakaan untuk instalasi python yang ada, dan kerangka kerja kyng chaos tampaknya adalah hanya untuk OS X.


"Kerangka kerja kyng tampaknya hanya untuk unix." Saya pikir Anda salah paham, itu untuk OS X.
Sean

2
Lihat gis.stackexchange.com/questions/2276/… untuk Windows Install. Saya pribadi penggemar lfd.uci.edu/~gohlke/pythonlibs karena mereka adalah Win64 dan baru
Mike T

3
Saya meninjau kembali ini 3 tahun kemudian. Singkatnya, saya dapat melihat bahwa masalahnya adalah instalasi pustaka python cenderung melakukan pekerjaan yang buruk dalam menangani dependensi yang ditulis dalam C. KyngChaos, FWTools, Anaconda, dll. Semua melakukan pekerjaan pembuatan platform biner C spesifik yang dapat digunakan dengan versi Python yang mereka miliki. Pada dasarnya tidak ada yang membuat cross platform cara untuk adil pip install gdaldan secara otomatis memasukkan dan mengkompilasi semua file yang diperlukan dari GDAL. Diharapkan Anda akan menggunakan beberapa cara lain untuk membuat binari GDAL.
BenjaminGolder

Jawaban:


25

Hanya menambahkan ini karena saya mencoba menggunakan alat chaos kyng, tetapi pada mesin Mac OS X saya dapat dengan sangat, sangat mudah menginstal ini dengan Anaconda

conda install gdal

Posting kalau-kalau ada yang menemukan ini lagi - saya menyadari posting asli berumur 3 tahun.


1
Saya menggunakan Anaconda dan sederhana untuk GDAL, tetapi sekarang saya ingin dapat menjalankan ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpdan sepertinya saya perlu mengaktifkan GEOS dari file .configure - ada ide di mana Anaconda menempatkan file ini? trac.osgeo.org/geos
blehman

Saya menghargai catatan itu, tetapi ini mirip dengan binari KyngChaos, karena masih tidak memungkinkan Anda untuk menggunakan instalasi python yang ada, dan Anda harus menggunakan versi python yang dikirimkan bersama Anaconda.
BenjaminGolder

Saya tidak bisa mendapatkan barang KyngChaos untuk bekerja, karenanya menambahkan ide. Tapi Anaconda memungkinkan Anda memilih versi Python mana yang akan diinstal, jadi ... Saya tidak tahu, saya kira Anda punya alasan untuk memerlukan instalasi spesifik lainnya untuk digunakan?
mmallek

1
Sebuah keajaiban Natal menemukan jawaban ini sekitar 2+ jam untuk mencoba mentransfer pengaturan (kerja) saya dari PC ke Mac.
ScottieB

Setelah melakukan pengaturan ulang lingkungan, ini tidak lagi berfungsi untuk saya. Saya mendapat pesan kesalahan terkaitfrom osgeo import ogr
ScottieB

6

Pertama jika Anda berada di windows, maka ada langsung installer, pada tautannya kepada teman-teman saya di atas. Tetapi jika Anda berada di Linux ini adalah cara untuk menginstal libgdal 1.11.

buka halaman ini

http://packages.ubuntu.com/trusty/libgdal1h

unduh file .deb yang diperlukan dengan memilih arsitektur sistem Anda.

setelah mengunduhnya, buka direktori yang diunduh dan jalankan perintah ini

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

Sekarang Anda akan mendapatkan kesalahan yang mengatakan dependensi tidak diinstal. sekarang ketik perintah ini

$ sudo apt-get -f install

Ini menginstal semua dependensi secara otomatis sekarang jalankan kembali perintah instalasi utama.

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

Sekarang akan menginstal dengan senang hati. Sekarang kita perlu menginstal perpustakaan pengembang untuk gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Selanjutnya jika Anda memiliki numpy, Anda dapat melanjutkan ke instalasi python GDAL library, atau instal numpy, untuk menginstal numpy dan scipy pada penggunaan linux

$ sudo apt-get install python-numpy python-scipy

sekarang menggunakan pip instal GDAL library

$ sudo pip install GDAL

Berkat jawaban ini (mengingatkan saya pada dua baris 'ekspor' yang saya lupa) bahwa saya dapat menginstal GDAL dalam virtualenv: (venv)mgc@mgc:~$ export CPLUS_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ export C_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ pip3 install gdal==1.11.2 (atau nomor versi yang sesuai dengan pustaka gdal yang diinstal pada komputer Anda).
mgc

5

Ada beberapa tutorial di situs ini , termasuk cara mengatur lingkungan Anda. Saya menggunakan pyscripter di atas editor crimson, tetapi keduanya harus bekerja.


4

Saya tidak mengetahui cara mudah untuk menginstalnya di OS X, saya pikir Kyng Chaos adalah yang terbaik, seperti OSGEO4W di bagian depan Windows. Binding Python hanyalah pembungkus untuk kode C / C ++ yang sebenarnya, Anda tidak dapat pergi tanpa menginstalnya baik dari sumber atau melalui binari.

Pip atau easy_installdapat melakukan triknya, tergantung pada versi Python dan pustaka sistem yang ada; misalnya di sini adalah direktori PyPI untuk Python 2.5 . Mendapatkan GDAL yang diinstal secara konsisten di berbagai platform dan beberapa versi Python tetap non-sepele, tetapi dalam banyak hal masuk akal: itu mungkin satu-satunya perpustakaan yang mendasari sebagian besar sumber terbuka dan banyak perangkat lunak SIG berpemilik, dan memiliki sejumlah besar dependensi format data di bawahnya.


Mengenai memastikan hal-hal tidak rusak, Anda mungkin ingin melihat virtualenv dan virtualenvwrapper untuk membantu menjaga hal-hal tetap rapi.
Jacques Tardie

PyPI memiliki direktori untuk 2.4 (hanya win32, dengan GDAL 1.5, 1.6), 2.5 (mac / win32 dengan GDAL 1.5, 1.6) dan 2.6 (hanya win32, dengan GDAL 1.6). Tidak ada yang memiliki GDAL 1.7. Jika saya memahami inti dari jawaban dengan benar, Anda terutama mengatakan itu tidak mudah dan bahwa pip mungkin berfungsi dalam beberapa kasus. Haruskah saya mencari cara membangunnya dari sumber?
BenjaminGolder

@BenjaminGolder: benar, dalam pengalaman saya itu bisa rumit, terutama jika Anda mencoba untuk mendukung banyak platform / dan versi Python. Membangun dari sumber membutuhkan lebih banyak pekerjaan di depan tetapi mungkin sepadan dengan waktu jika Anda mencoba mengembangkan serangkaian instruksi yang konsisten. Anda mungkin ingin juga mengajukan pertanyaan Anda pada daftar GDAL yang dibaca oleh pengembang sendiri.
scw

4

Saya punya masalah yang pasti ketika menginstal GDAL / OGR bersama ArcGIS python install. Solusi saya untuk windows adalah:

  1. Unduh binari gdal dan python bindings dari http://www.gisinternals.com/sdk/ . Ini termasuk versi binding python untuk berbagai versi python.
  2. Perbarui jalur dalam file python secara manual:

os.environ ['PATH'] = "C: / Program Files (x86) / GDAL /;" + os.environment ['PATH']

oldpaths = sys.path

sys.path = ["C: / Program Files (x86) / GDAL / python /",]

sys.path.extend (oldpaths)

dari osgeo import ogr

dari osgeo import osr

dari gdalconst import *

dari osgeo import gdal

Ini tidak terlalu cantik tetapi memungkinkan Anda untuk mencampur instalasi yang berbeda. Anda juga tahu secara eksplisit apa yang Anda muat.

Edit: memperbaiki kesalahan sintaks


4

Gunakan ini jika Anda tidak peduli penambahan ppa,

$ sudo apt-add-repository ppa: ubuntugis / ubuntugis-unstable

Pembaruan apt-get $ sudo

$ sudo apt-get install python-gdal


2019-04-19: Menambahkan pada solusi ubuntu yang berhasil bagi saya di server cloud ubuntu, dari /programming//a/41613466/4355695

sudo add-apt-repository -y ppa:ubuntugis/ppa
sudo apt update 
sudo apt install gdal-bin python-gdal python3-gdal

Saya bukan poster asli dari jawaban ini tetapi pertanyaan ini dikunci sehingga harus mengedit yang sudah ada. Sumber ini (ppa: ubuntugis / ppa) mungkin kurang "tidak stabil" daripada yang disarankan sebelumnya, dan bekerja dengan baik untuk program python2 yang saya coba jalankan di server saya.


1

Jika Anda adalah pengguna windows, Anda dapat menemukan banyak biner yang berguna , saya bekerja dengan ini dan mereka bekerja dengan sangat baik ... Semoga beruntung, tepuk tangan


Selamat datang di GIS @ SE, lebih baik memberikan lebih banyak informasi dengan jawaban Anda, misalnya, binari dan langkah-langkah khusus untuk instalasi, ini membuat informasi ini jauh lebih berguna bagi orang yang mengajukan pertanyaan serta orang-orang masa depan yang melihat pertanyaan tersebut dan jawaban.
Mark Cupitt

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.