Forum QGIS
Czy można zautomatyzować funkcję Przytnij - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Czy można zautomatyzować funkcję Przytnij (/thread-1562.html)



Czy można zautomatyzować funkcję Przytnij - georobot - 24-10-2017

Czy jest możliwość zautomatyzowania funkcji Przytnij, jeśli muszę użyć jej wielokrotnie korzystając zawsze z tej samej liniowej warstwy wejściowej, a zmienia się tylko maska zawarta w warstwie poligonowej.
Mam wektorową warstwę liniową pn. GRANICA, która jest granicą obszaru. Mam również warstwę poligonową pn. Arkusze_Mapy, w której zapisane jest kilkadziesiąt poligonów, każdy wyznacza obszar innego arkusza mapy i jako etykietę ma godło tej mapy. Chciałbym teraz rozbić tę granicę obszaru na warstwy odpowiadające poszczególnym arkuszom mapy i żeby otrzymały one nazwy nawiązujące do godła mapy, np. przedrostek [undefined=undefined]Granica[/undefined] + [undefined=undefined]Godło[/undefined] (godło to jest etykieta poligonu pełniącego funkcję maski).
Dotychczas robię to tak:
- Zaznaczam potrzebny poligon, który będzie służył jako maska przycięcia,
- Wektor>Narzędzia geoprocesingu>Przytnij,
- Podaję warstwę wejściową, a więc GRANICA
- Podaję maskę przycięcia, a więc Arkusze_Mapy i zaznaczam Użyj tylko zaznaczonych elementów,
- Podaję nazwę wyjściowego shapefile'a
I powtarzam taką operację kilkadziesiąt razy podmieniając tylko kolejno zaznaczony poligon do maski.
Czy można tę nudną procedurę jakoś zautomatyzować?
Podobny problem mam gdy do rozbicia na podwarstwy jest warstwa punktowa.


RE: Czy można zautomatyzować funkcję Przytnij - Binko - 24-10-2017

Uruchom przycinanie w trybie wsadowym. Tam można wypełnić pola, ja robię coś takiego metodą kopiuj-wklej. Chwilę to trwa, ale potem raz zamiesza i gotowe. Ewentualnie możesz model sobie zrobić w modelerze.

Choć pewnie łatwiej byłoby to zrobić w Pythonie, może kolega xmaziax coś zaproponuje, widzę że on to ogarnia Smile


RE: Czy można zautomatyzować funkcję Przytnij - georobot - 24-10-2017

Próbowałem z trybem wsadowym (konkretnie Geoalgorytmy QGIS>Narzędzia nakładania się wektorów>Przytnij). Ale moim zdaniem nie da się tego wykorzystać, ponieważ nie ma możliwości zadania maski jako wybrany, konkretny element (poligon) z warstwy poligonowej. Jako maskę mozna zadać tylko całą warstwę poligonową.
Czyli prawdopodobnie można by to wykorzystać, ale wcześniej musiałbym warstwę poligonową rozbić na podwarstwy - pojedyncze poligony, co w sumie chyba nie zmniejsza pracochłonności.


RE: Czy można zautomatyzować funkcję Przytnij - Binko - 25-10-2017

No, w sumie tak.

Mam prostsze rozwiązanie. Przetnij swoją linię intersectem (Iloczyn - warstwa wejściowa: linia, warstwa do iloczynu: poligon), potem rozbij powstałą warstwę na mniejsze warstwy (Podziel warstwę wektorową) według pola z poligonów.


RE: Czy można zautomatyzować funkcję Przytnij - georobot - 26-10-2017

Dziekuję Binko. Przećwiczyłem Twój sposób i jestem prawie zadowolony.
Prawie, ponieważ po rozbiciu warstwy iloczynu na warstwy mniejsze wyniki nie załadowują się automatycznie do QGIS lecz zapisują się na dysku w postaci shp. Trzeba więc potem wczytać kilkadziesiąt plików.
Mimo wszystko Twoje rozwiązanie problemu znacznie ułatwia zadanie.
Pozdrawiam