Viết các kịch bản Python độc lập bằng PyQGIS?


17

Tôi đã học cách sử dụng Bảng điều khiển Python trong QGIS bằng cách sử dụng tài liệu tham khảo từ qgisworkshop.org . Tôi quen với việc viết các tập lệnh độc lập trong ArcGIS và muốn tìm hiểu cách thực hiện tương tự với QGIS.

Ví dụ: trong ArcGIS 10, tập lệnh python độc lập đơn giản sẽ là:

import arcpy 

setFolder = ''

doProcess

Tôi hiểu cách thực hiện việc này bằng bảng điều khiển python trong QGIS, nhưng tôi không tìm thấy một ví dụ để thực hiện các bước tương tự bằng cách sử dụng tập lệnh độc lập. Tôi nghi ngờ tôi đã không may mắn với việc tìm kiếm của tôi mặc dù. Có bất kỳ ví dụ rõ ràng về cách làm điều này trực tuyến?

Câu trả lời:


15

Tôi chưa viết các tập lệnh độc lập dựa trên API QGIS, nhưng sách nấu ăn PyQGIS sử dụng cách khởi tạo sau:

Trước hết, bạn phải nhập mô-đun qgis, đặt đường dẫn QGIS nơi tìm kiếm tài nguyên - cơ sở dữ liệu của các phép chiếu, nhà cung cấp, v.v. Khi bạn đặt đường dẫn tiền tố với đối số thứ hai là True, QGIS sẽ khởi tạo tất cả các đường dẫn với thư mục chuẩn trong thư mục tiền tố . Gọi hàm initQgis () rất quan trọng để cho phép QGIS tìm kiếm các nhà cung cấp có sẵn.

from qgis.core import *

# supply path to where is your qgis installed
QgsApplication.setPrefixPath("/path/to/qgis/installation", True)

# load providers
QgsApplication.initQgis()

Bây giờ bạn có thể làm việc với API QGIS - tải các lớp và thực hiện một số xử lý hoặc kích hoạt GUI bằng khung vẽ bản đồ. Khả năng là vô tận :-)

Khi bạn đã hoàn tất việc sử dụng thư viện QGIS, hãy gọi exitQgis () để đảm bảo rằng mọi thứ đã được dọn sạch (ví dụ: xóa sổ đăng ký lớp bản đồ và xóa các lớp):

QgsApplication.exitQgis()

1
Cảm ơn @underdark - đó là hữu ích. Tôi thấy from qgis.core import *việc làm việc trên OSX là không hề nhỏ , vì vậy tôi dự định đặt một câu hỏi mới về chủ đề này.
djq

Xin lỗi để gắn thẻ một câu hỏi khác ở đây, nhưng có tài liệu trực tuyến nào về mô-đun qgis không? Tất cả những gì tôi có thể tìm thấy là một tham chiếu đến nó tương tự như các tài liệu c ++, nhưng không có liên kết thực sự với các tài liệu python.
djq

Thông tin cụ thể về Python có trong Sách dạy nấu ăn pyQGIS. Mặt khác, bạn có thể dựa vào các tài liệu API C ++ bình thường - nó không chỉ tương tự, imho nó giống nhau.
underdark

Đối với người dùng Ubuntu, hãy tham khảo: gis.stackexchange.com/questions/52919/ cho đường dẫn cài đặt. (đó là "/ usr")
Mr Purple
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.