PyQGIS kullanarak bağımsız Python betikleri mi yazıyorsunuz?


17

Qgisworkshop.org referanslarını kullanarak QGIS'de Python Konsolunu nasıl kullanacağımı öğreniyorum . ArcGIS'de bağımsız komut dosyaları yazmaya alışkınım ve QGIS ile aynı şeyi nasıl yapacağınızı öğrenmek istiyorum.

Örneğin, ArcGIS 10'da basit bir bağımsız python betiği şöyle olacaktır:

import arcpy 

setFolder = ''

doProcess

Bunu nasıl QGIS python konsolunu kullanarak anlıyorum, ancak bağımsız bir komut dosyası kullanarak aynı adımları gerçekleştirmek için bir örnek bulmak başaramadım. Aradığım için şanssız olduğumdan şüpheleniyorum. Bunu çevrimiçi olarak nasıl yapacağınıza dair net örnekler var mı?

Yanıtlar:


15

Henüz QGIS API'sine dayanan bağımsız komut dosyaları yazmadım , ancak PyQGIS yemek kitabı aşağıdaki başlatmayı kullanıyor:

Her şeyden önce qgis modülünü içe aktarmanız gerekir, QGIS yolunu nereye kaynak arayacağınızı ayarlayın - projeksiyonlar, sağlayıcılar vb. . İnitQgis () işlevinin çağrılması, QGIS'in kullanılabilir sağlayıcıları aramasına izin vermek için önemlidir.

from qgis.core import *

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

# load providers
QgsApplication.initQgis()

Artık QGIS API ile çalışabilirsiniz - katmanları yükleyebilir ve bir harita tuvali ile GUI'yi işleyebilir veya tetikleyebilirsiniz. İmkanlar sonsuzdur :-)

QGIS kitaplığını kullanmayı bitirdiğinizde, her şeyin temizlendiğinden emin olmak için exitQgis () öğesini çağırın (örn. Harita katmanı kaydını temizle ve katmanları sil):

QgsApplication.exitQgis()

1
Teşekkürler @ yıldırım - bu yardımcı olur. from qgis.core import *OSX üzerinde çalışmayı önemsiz buldum , bu yüzden bu konuda yeni bir soru sormayı planlıyorum.
djq

Burada başka bir soru etiketlediğim için üzgünüm, ancak qgis modülünün çevrimiçi dokümantasyonu var mı? Tüm bulabildiğim bir c ++ belgelerine benzer bir referans, ancak python belgelerine gerçek bir bağlantı yok.
djq

Python özellikleri pyQGIS Yemek Tarifleri'ndedir. Aksi takdirde normal C ++ API belgelerine güvenebilirsiniz - sadece benzer değil, aynıdır.
underdark

Ubuntu kullanıcısı için kurulum yolu için gis.stackexchange.com/questions/52919/… adresine bakın . ("/ usr")
Bay Purple
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.