Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Szablony wydruków.
05-06-2015, 09:03,
#1
Szablony wydruków.
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?
06-06-2015, 11:20,
#2
RE: Szablony wydruków.
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ś.
09-06-2015, 08:45,
#3
RE: Szablony wydruków.
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?
09-06-2015, 18:42, (Ten post był ostatnio modyfikowany: 09-06-2015, 18:47 {2} przez Binko.)
#4
RE: Szablony wydruków.
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,
   
Kliknij na symbol "Sigmy"
.png   sigma.png (Rozmiar: 851 / Pobrań: 26) 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
16-06-2015, 10:48,
#5
RE: Szablony wydruków.
Dzięki wielkie. Taka mała rzecz a cieszy.


Skocz do: