Cài đặt GDAL và OGR cho Python?


18

Tôi đang phát triển một số mã trong Python và tôi muốn sử dụng các ràng buộc python GDAL / OGR. Mức tối thiểu tôi cần cài đặt để sử dụng các ràng buộc python GDAL và OGR là gì?

Cách dễ nhất để cài đặt GDAL / OGR là gì nếu tôi chỉ muốn sử dụng nó từ Python?
Tôi đang tìm kiếm một câu trả lời áp dụng cho cả mac và windows.

GDAL được liệt kê trong Chỉ mục gói Python (PyPi) nhưng tôi không hiểu cách cài đặt các phụ thuộc của nó (libgdal và các tệp tiêu đề cho cả libgdal và numpy). Có lẽ tất cả những gì tôi cần làm là cài đặt numpy và sau đó lấy libgdal ở đâu đó, và nếu vậy, ở đâu? Một cài đặt windows có cần Windows Binaries ngoài libgdal và các tệp tiêu đề không?

Làm cách nào tôi có thể đảm bảo rằng tôi có được các ràng buộc python thích hợp cho phiên bản Python của tôi (2.5, 2.6, 2.7, 3)?
Phải thay đổi biến môi trường PATH để sử dụng GDAL và OGR từ Python hoặc mọi thứ có thể được truy cập thông qua thư mục gói trang web của tôi và một importcâu lệnh điển hình ?

Những câu hỏi này có liên quan đến câu hỏi này nhưng không trả lời được:
cài đặt GEOS, PROJ, GDAL / OGR vào một ảo python trên Mac OS X
Làm thế nào để cài đặt GDAL với Python trên windows?

Tôi nên lưu ý rằng FWTools , OSGeo4Wkyngchaos cung cấp ogr và gdal với các ràng buộc python và là tuyệt vời, nhưng FWTools và OSGeo4W vận chuyển với python của riêng họ, thay vì đóng vai trò là thư viện cho cài đặt python hiện có, và khung hỗn loạn kyng chỉ dành cho OS X.


"khung hỗn loạn kyng dường như chỉ dành cho unix." Tôi nghĩ bạn hiểu nhầm, chúng dành cho OS X.
Sean

2
Xem gis.stackexchange.com/questions/2276/ Ấn để cài đặt Windows. Cá nhân tôi là một fan hâm mộ lớn của lfd.uci.edu/~gohlke/pythonlibs vì họ là Win64 và gần đây
Mike T

3
Tôi đang xem lại điều này 3 năm sau. Tóm lại, tôi có thể thấy rằng vấn đề là các cài đặt thư viện python có xu hướng làm việc kém với việc xử lý các phụ thuộc được viết bằng C. KyngChaos, FWTools, Anaconda, v.v., tất cả đều làm công việc tạo các nhị phân C cụ thể của nền tảng có thể được sử dụng với phiên bản Python họ có. Về cơ bản, không ai tạo ra một cách đa nền tảng để chỉ pip install gdalvà tự động bao gồm và biên dịch tất cả các tệp cần thiết từ GDAL. Dự kiến ​​bạn sẽ sử dụng một số phương tiện khác để tạo nhị phân GDAL.
BenjaminGolder

Câu trả lời:


25

Chỉ thêm điều này vì tôi đã thử sử dụng các công cụ hỗn loạn kyng, nhưng trên máy Mac OS X của tôi, tôi đã có thể cài đặt nó rất, rất dễ dàng với Anaconda

conda install gdal

Đăng trong trường hợp bất cứ ai tìm thấy điều này một lần nữa - tôi nhận ra bài viết gốc là 3 tuổi.


1
Tôi đã sử dụng Anaconda và nó rất đơn giản cho GDAL, nhưng bây giờ tôi muốn có thể chạy ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpvà có vẻ như tôi cần kích hoạt GEOS từ tệp .có hình - có ý tưởng nào Anaconda đặt tệp này không? trac.osgeo.org/geos
blehman

Tôi đánh giá cao lưu ý này, nhưng nó tương tự như các nhị phân KyngChaos, ở chỗ nó vẫn không cho phép bạn sử dụng cài đặt python hiện có và bạn phải sử dụng phiên bản python được vận chuyển với Anaconda.
BenjaminGolder

Tôi không thể làm cho công cụ KyngChaos hoạt động được, do đó thêm ý tưởng. Nhưng Anaconda cho phép bạn chọn phiên bản Python nào để cài đặt, vì vậy ... Tôi không biết, tôi đoán bạn có lý do để cần cài đặt cụ thể khác để sử dụng?
mmallek

1
Một phép lạ Giáng sinh tìm thấy câu trả lời này trong hơn 2 giờ đồng hồ để cố gắng chuyển (thiết lập) của tôi được thiết lập từ PC sang Mac.
ScottieB

Sau khi phải thiết lập lại môi trường, điều này không còn hiệu quả với tôi nữa. Tôi nhận được một lỗi liên quan đếnfrom osgeo import ogr
ScottieB

6

Đầu tiên, nếu bạn đang ở trên windows, sau đó có các trình cài đặt ngay lập tức, trên đường dẫn đã nói với bạn bè của tôi ở trên. Nhưng nếu bạn ở trên Linux thì đây là cách để cài đặt libgdal 1.11.

đi đến trang này

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

tải về tệp .deb cần thiết chọn kiến ​​trúc hệ thống của bạn.

Sau khi tải về, hãy vào thư mục đã tải xuống và chạy lệnh này

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

Bây giờ bạn sẽ nhận được một thông báo lỗi phụ thuộc không được cài đặt. bây giờ gõ lệnh này

$ sudo apt-get -f install

Nó tự động cài đặt tất cả các phụ thuộc bây giờ chạy lại lệnh cài đặt chính.

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

Bây giờ nó sẽ cài đặt một cách vui vẻ. Bây giờ chúng ta cần cài đặt các thư viện dành cho nhà phát triển cho gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Tiếp theo nếu bạn có numpy, bạn có thể tiến hành cài đặt thư viện python GDAL, khác cài đặt numpy, để cài đặt numpy và scipy khi sử dụng linux

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

hiện đang sử dụng pip cài đặt thư viện GDAL

$ sudo pip install GDAL

Nhờ câu trả lời này (nhắc nhở tôi hai dòng 'xuất' mà tôi đã quên) rằng tôi có thể cài đặt GDAL trong 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 (hoặc số phiên bản tương ứng với thư viện gdal được cài đặt trên máy tính của bạn).
mgc

5

Có một số hướng dẫn trên trang web này , bao gồm một cách để thiết lập môi trường của bạn. Tôi sử dụng pyscripter trên trình soạn thảo màu đỏ thẫm, nhưng một trong hai sẽ hoạt động.


4

Tôi không biết một cách dễ dàng để cài đặt nó trên OS X, tôi nghĩ Kyng Chaos là thứ tốt nhất, cũng như OSGEO4W ở mặt trước Windows. Các ràng buộc Python chỉ là các hàm bao cho mã C / C ++ thực tế, bạn không thể thoát khỏi mà không cài đặt chúng từ nguồn hoặc thông qua các tệp nhị phân.

Pip hoặc easy_installcó thể thực hiện thủ thuật, tùy thuộc vào phiên bản Python và các thư viện hệ thống hiện có; ví dụ ở đây là thư mục PyPI cho Python 2.5 . Việc cài đặt GDAL một cách nhất quán trên nhiều nền tảng và nhiều phiên bản Python vẫn không tầm thường, nhưng theo nhiều cách có ý nghĩa: có lẽ đây là một thư viện làm nền tảng cho hầu hết nguồn mở và nhiều phần mềm GIS độc quyền và có số lượng lớn phụ thuộc định dạng dữ liệu bên dưới nó


Liên quan đến việc đảm bảo mọi thứ không bị phá vỡ, bạn có thể muốn xem virtualenv và virtualenvwrapper để giúp mọi thứ gọn gàng hơn.
Jacques Tardie

PyPI có các thư mục cho 2.4 (chỉ win32, với GDAL 1.5, 1.6), 2.5 (mac / win32 với GDAL 1.5, 1.6) và 2.6 (chỉ win32, với GDAL 1.6). Không có GDAL 1.7. Nếu tôi hiểu ý chính của câu trả lời, bạn chủ yếu nói rằng điều đó không dễ và pip có thể hoạt động trong một số trường hợp. Tôi có nên xem xét làm thế nào để xây dựng nó từ nguồn?
BenjaminGolder

@BenjaminGolder: đúng, theo kinh nghiệm của tôi, nó có thể khó, đặc biệt nếu bạn đang cố gắng hỗ trợ nhiều nền tảng / và phiên bản Python. Xây dựng từ nguồn mất nhiều công sức hơn nhưng có thể đáng giá thời gian nếu bạn đang cố gắng phát triển một bộ hướng dẫn nhất quán. Bạn cũng có thể muốn đặt câu hỏi của mình trong danh sách GDAL do chính các nhà phát triển đọc.
scw

4

Tôi đã gặp vấn đề chính xác này khi cài đặt GDAL / OGR cùng với cài đặt python ArcGIS. Giải pháp cho cửa sổ của tôi là:

  1. Tải xuống các tệp nhị phân của gdal và python ràng buộc từ http: //www.gisi INTERNals.com/sdk/ . Điều này bao gồm các phiên bản của ràng buộc python cho các phiên bản khác nhau của python.
  2. Cập nhật các đường dẫn trong tệp python theo cách thủ công:

os.envir ['PATH'] = "C: / Tệp chương trình (x86) / GDAL /;" + os.envir ['PATH']

oldpaths = sys.path

sys.path = ["C: / Tệp chương trình (x86) / GDAL / python /",]

sys.path.extend (đường dẫn cũ)

từ osgeo nhập khẩu ogr

từ osgeo nhập osr

từ nhập khẩu gdalconst *

từ osgeo nhập khẩu gdal

Điều này không phải là rất đẹp nhưng cho phép bạn kết hợp các cài đặt khác nhau. Bạn cũng biết rõ ràng những gì bạn đang tải.

Chỉnh sửa: lỗi cú pháp cố định


4

Sử dụng điều này nếu bạn không quan tâm thêm ppa,

$ sudo apt-add-repository ppa: ubuntugis / ubuntugis-không ổn định

$ sudo apt-get cập nhật

$ sudo apt-get cài đặt python-gdal


2019-04-19: Thêm vào một giải pháp ubfox phù hợp với tôi trên máy chủ Ubuntu trên đám mây, từ /programming//a/41613466/4355695

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

Tôi không phải là người đăng ban đầu của câu trả lời này nhưng câu hỏi này đã bị khóa nên phải chỉnh sửa một câu hỏi hiện có. Nguồn này (ppa: ubuntugis / ppa) có lẽ ít "không ổn định" hơn so với đề xuất trước đó và đã hoạt động tốt cho chương trình python2 mà tôi đang cố gắng chạy trên máy chủ của mình.


1

Nếu bạn là người dùng windows, bạn có thể tìm thấy nhiều nhị phân hữu ích , tôi đang làm việc với chúng và chúng đang hoạt động rất tốt ... Chúc may mắn, chúc mừng


Chào mừng bạn đến với GIS @ SE, tốt hơn là cung cấp thêm thông tin với câu trả lời của bạn, ví dụ: các tệp nhị phân và các bước cụ thể để cài đặt, điều này làm cho thông tin hữu ích hơn rất nhiều cho người đặt câu hỏi cũng như những người tương lai xem câu hỏi Và câu trả lời.
Mark Cupitt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.