Forum QGIS

Pełna wersja: Szablony wydruków.
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Jestem amatorem jeśli chodzi o GIS.
Czy da się wykorzystać QGIS to wydruku seryjnego?

Mam warstwę shp z pewną trasą podzieloną na odcinki. Chciałbym kazdy z tych odcinków wydrukować jako osobną mapę z danymi o tym odcinku. Tych odcinków jest 700 więc pytanie brzmi
1. Czy da się zrobić jakoś formatkę która będzie mi drukowała każdy z odcinków (odcinek wybrany będzie podświetlony) i będą się drukować dane o tym odcinku a reszta zostanie oryginalna?
2. Czy da się zrobić taki wydruk automatycznie. Program sam będzie generował każdy z odcinków i wypluje mi 700 gotowych mapek?
Cześć,

Do 2.: Do wydruku seryjnego służy funkcja Atlasu.
Tu jest ogólnie wyjaśnione o co chodzi: http://docs.qgis.org/2.8/en/docs/user_ma...generation
Można ustawić, żeby arkuszem był dany odcinek trasy, także to się da zrobić.

Jeśli chodzi o odp. na 1. to sprawa może być bardziej skomplikowana. Przyznam, że nie bawiłem się w takie coś.
Dzięki wielkie za podpowiedź.
Jest tam taka opcja jak "Nadpisywanie oparte na danych" Jak z niej dobrze korzystać. Przypuszczam że sprawne z niej korzystanie rozwiąże mój problem nr 1. Mogę użyć renderowania tylko jaką mam wpisać komendę żeby renderowało konkretny obszar?
Hm, zagadnienie ciekawe - postanowiłem rozwiązać tę zagadkę Smile


Jeśli chcesz, żeby dane o odcinku wyświetlały się w jakiejś ramce obok, to sprawa jest prosta, bo wystarczy zrobić pole tekstowe w kompozytorze map i tam wpisać odpowiednie rzeczy. Oczywiście po uprzednim skonfigurowaniu atlasu, żeby skorzystał z danej warstwy przy generowaniu serii map.

Na przykładzie ulic wsi, może to wyglądać tak:
Kod:
ULICE WE WSI:
Ulica [% "name" %]  
Długość: [% $length %] m

Gdzie:
[% "name" %] to nazwa ulicy zassana z tabeli atrybutów z kolumny "name"
[% $length %] to długość odcinka obliczona na żywo przez program. Można wcześniej obliczyć w tabeli i podać równie dobrze nazwę kolumny z obliczoną długością. Ale to tak dla przykładu podałem ;)

Wtedy całość będzie wyglądać tak:
Cytat:ULICE WE WSI:
Ulica Kwiatowa
Długość: 305.5234 m


Nie wiem czy dobrze zrozumiałem, co chcesz osiągnąć, ale spójrz na linka na dole, tam wrzuciłem moją testową serię map.

Jeśli chodzi o podświetlanie jedynie opisywanego elementu, trzeba pobawić się symbolizacją. Ja to zrobiłem tak:
1. Zduplikuj warstwę (prawy klik myszy na warstwie > Duplikuj). To będzie podświetlenie - stara warstwa ze starą symbolizacją będzie w tle.
2. Ustaw tę zduplikowaną warstwę jako tę do generowania atlasu.
3. Otwórz właściwości warstwy zduplikowanej. Wejdź w zakładkę "Styl"
4. Wybierz właściwości danego symbolu,
[attachment=271]
Kliknij na symbol "Sigmy" [attachment=270] przy kolorze, następnie na "Zmień..." aby wpisać wyrażenie:
Kod:
CASE WHEN  "name" = attribute( $atlasfeature   ,'name')   THEN  color_rgba( 255,255,0,255) ELSE color_rgba(0,0,0,0) END
Ogólnie, chodzi o to, że jeśli będzie wyświetlany odcinek z atlasu, to kolor linii będzie żółty, a jeśli nie, to będzie przezroczysty.

Na efekt tego możesz spojrzeć tu:
https://www.dropbox.com/sh/6tlkawiic0wvy...3uhia?dl=0


Oczywiście to jest jedno podejście z wielu. Nie musisz duplikować swojej warstwy - możesz pracować na bazowej i tam się bawić w symbolizacje i ustalać inne reguły wyświetlania symboli Wink
Tak samo można pobawić się z wyświetlaniem etykiet, wtedy można ustawić większą czcionkę wyświetlanego elementu, itp., itd.

Fajnie, że zadałeś to pytanie, człowiek sam się czegoś nauczy Wink
Dzięki wielkie. Taka mała rzecz a cieszy.