Zapisywanie wyników przetwarzania w pliku przy użyciu modelera QGIS?

9

Z modelu chciałbym zapisać wyniki przetwarzania w pliku. W moim modelu mam pewne Extract by locationalgorytmy (z dwoma wejściami wektorowymi) dające rozsądne wyniki, ale tylko jako warstwy tymczasowe, które muszę Save as...ręcznie, co dla stosu analiz jest kłopotliwe i czasochłonne.

Najlepiej, chciałbym przekazać ścieżkę do mojego modelu, gdzie moje wyniki są zapisywane jako pliki kształtów (w pierwszym kroku).

To jest model. Zauważ, że wektor wyjściowy (plik) nie może połączyć się z żadnym z wyników przetwarzania:

wprowadź opis zdjęcia tutaj

Jak widać na zrzutach ekranu a), możemy przekazać nazwę końcowego wyniku, ale nie plik, nawet w Save selected featuresalgorytmie b).

za) wprowadź opis zdjęcia tutaj

b) wprowadź opis zdjęcia tutaj

Mam niejasny pomysł, jak to osiągnąć za pomocą skryptu python, ale czy można to zrobić za pomocą kombinacji istniejących narzędzi?

Jochen Schwarze
źródło

Odpowiedzi:

6

Jeśli chcesz przekazać ścieżkę w swoim modelu, aby zapisać pliki shapefile zamiast robić to ręcznie, prawdopodobnie jest to odpowiedni skrypt niestandardowy . Możesz napisać skrypt, aby uruchomić narzędzie Wyodrębnij według lokalizacji i zdefiniować ścieżkę wyjścia. Może coś takiego:

##Extract_by_location=name
##Layer=vector
##Additional_layer=vector

layer = processing.getObject(Layer)
output_path = "C:/Users/You/Desktop/" + layer.name() + ".shp"

processing.runalg("qgis:extractbylocation", Layer, Additional_layer, u'contains', 0.00, output_path)

Zastąp narzędzie Wyodrębnij według lokalizacji w swoim modelu tym skryptem, a wyniki zostaną zapisane w pliku kształtu w określonej ścieżce.

Joseph
źródło
5

Modeler QGIS traktuje każde narzędzie jako pośrednie, które nie zapisuje żadnych wyników, chyba że zaznaczono inaczej.

Aby zmusić model do wyeksportowania wyniku, musisz wprowadzić nazwę wyjściową warstwy w wierszu Narzędzia.

wprowadź opis zdjęcia tutaj

Jeśli chcę wyeksportować powyższy wynik jako warstwę, podaję wartość wyjściową w następujący sposób: wprowadź opis zdjęcia tutaj

To dodaje okno dialogowe, gdy uruchomisz narzędzie, które możesz ustawić plik wyjściowy:

wprowadź opis zdjęcia tutaj

Sam model pokazuje typy danych w kolorach: fioletowy dla danych wejściowych, błękitny dla danych wyjściowych

HDunn
źródło
1
To prawda, ale jest to taki sam wysiłek, jak pozostawienie wektorów wyjściowych jako plików tymczasowych, a następnie wykonanie rightclick > Save As...każdego z nich.
Jochen Schwarze