Pisz samodzielne skrypty Pythona za pomocą PyQGIS?


17

Nauczyłem się korzystać z konsoli Python w QGIS, korzystając z referencji z qgisworkshop.org . Znam się na pisaniu samodzielnych skryptów w ArcGIS i chcę nauczyć się robić to samo z QGIS.

Na przykład w ArcGIS 10 prosty, samodzielny skrypt Pythona to:

import arcpy 

setFolder = ''

doProcess

Rozumiem, jak to zrobić za pomocą konsoli python w QGIS, ale nie udało mi się znaleźć przykładu wykonania tych samych kroków przy użyciu samodzielnego skryptu. Podejrzewam jednak, że właśnie miałem pecha w moich poszukiwaniach. Czy są jakieś wyraźne przykłady tego, jak to zrobić online?

Odpowiedzi:


15

Nie napisałem jeszcze samodzielnych skryptów opartych na API QGIS, ale książka kucharska PyQGIS korzysta z następującej inicjalizacji:

Przede wszystkim musisz zaimportować moduł qgis, ustawić ścieżkę QGIS, gdzie szukać zasobów - bazę danych prognoz, dostawców itp. Po ustawieniu ścieżki prefiksu z drugim argumentem ustawionym na True, QGIS zainicjuje wszystkie ścieżki standardowym katalogiem w katalogu prefiksów . Wywołanie funkcji initQgis () jest ważne, aby umożliwić QGIS wyszukiwanie dostępnych dostawców.

from qgis.core import *

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

# load providers
QgsApplication.initQgis()

Teraz możesz pracować z QGIS API - ładować warstwy i wykonywać niektóre operacje lub uruchamiać GUI z płótnem mapy. Możliwości są nieskończone :-)

Po zakończeniu korzystania z biblioteki QGIS wywołaj komendę exitQgis (), aby upewnić się, że wszystko zostało wyczyszczone (np. Wyczyść rejestr warstw mapy i usuń warstwy):

QgsApplication.exitQgis()

1
Dzięki @underdark - to jest pomocne. Uznałem, że from qgis.core import *praca w systemie OSX jest łatwa, dlatego planuję zadać nowe pytanie na ten temat.
— djq

Przykro nam, ale zaznaczam tutaj inne pytanie, ale czy istnieje dokumentacja online modułu qgis? Wszystko, co mogę znaleźć, to odniesienie do tego, że jest podobny do dokumentów w języku C ++, ale nie ma rzeczywistego łącza do dokumentów w języku Python.
— djq

Szczegóły dotyczące Pythona znajdują się w książce kucharskiej pyQGIS. W przeciwnym razie możesz polegać na normalnych dokumentacjach API C ++ - to nie jest po prostu podobne, imho to samo.
— podmroku

Dla użytkowników ubuntu: ścieżka instalacji : gis.stackexchange.com/questions/52919/ ... (to „/ usr”)
— Mr Purple
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.