Menulis skrip Python mandiri menggunakan PyQGIS?


17

Saya telah belajar cara menggunakan Konsol Python di QGIS menggunakan referensi dari qgisworkshop.org . Saya terbiasa menulis skrip mandiri di ArcGIS dan ingin belajar bagaimana melakukan hal yang sama dengan QGIS.

Misalnya, dalam ArcGIS 10 skrip python mandiri sederhana adalah:

import arcpy 

setFolder = ''

doProcess

Saya mengerti bagaimana melakukan ini menggunakan konsol python di QGIS, tetapi saya belum berhasil menemukan contoh untuk melakukan langkah-langkah yang sama menggunakan skrip mandiri. Saya curiga saya kurang beruntung dengan pencarian saya. Adakah contoh yang jelas tentang bagaimana melakukan ini secara online?

Jawaban:


15

Saya belum menulis skrip yang berdiri sendiri berdasarkan QGIS API, tetapi buku masak PyQGIS menggunakan inisialisasi berikut:

Pertama-tama Anda harus mengimpor modul qgis, mengatur jalur QGIS tempat mencari sumber daya - basis data proyeksi, penyedia dll. Ketika Anda menetapkan jalur awalan dengan argumen kedua ditetapkan sebagai Benar, QGIS akan menginisialisasi semua jalur dengan dir standar di bawah direktori awalan . Fungsi memanggil initQgis () penting untuk membiarkan QGIS mencari penyedia yang tersedia.

from qgis.core import *

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

# load providers
QgsApplication.initQgis()

Sekarang Anda dapat bekerja dengan QGIS API - memuat layer dan melakukan pemrosesan atau menjalankan GUI dengan kanvas peta. Kemungkinannya tidak terbatas :-)

Ketika Anda selesai menggunakan perpustakaan QGIS, panggil exitQgis () untuk memastikan bahwa semuanya telah dibersihkan (mis. Hapus pendaftaran layer peta dan hapus layer):

QgsApplication.exitQgis()

1
Terima kasih @ underdark - itu sangat membantu. Saya merasa tidak mudah untuk mulai from qgis.core import *bekerja di OSX, jadi saya berencana untuk mengajukan pertanyaan baru tentang topik ini.
— djq

Maaf memberi tag pertanyaan lain di sini, tetapi adakah dokumentasi online dari modul qgis? Yang bisa saya temukan hanyalah referensi yang mirip dengan c ++ docs, tetapi tidak ada tautan sebenarnya ke python docs.
— DJJ

Spesifikasi python ada di dalam pyQGIS Cookbook. Kalau tidak, Anda dapat mengandalkan dokumen C ++ API yang normal - tidak hanya serupa, tetapi juga sama.
— underdark

Untuk pengguna ubuntu lihat: gis.stackexchange.com/questions/52919/… untuk jalur pemasangan. (ini "/ usr")
— Tuan Ungu
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.