[Gfoss] Layout di stampa a scala fissa e foglio variabile

Ti servirebbe un bello script per editare il file di progetto (nella parte
relativa alla stampa) dopo aver impostato un un template.
La procedura mi pare abbastanza ripetitiva, quindi con dei cicli for
dovresti riuscire a lanciare le stampe in automatico, ed eviteresti di
dover duplicare le mappe.

Ciao,

Carlo

---------- Forwarded message ----------
From: Massimiliano Moraca <massimilianomoraca@gmail.com>
To: gfoss@lists.gfoss.it
Cc:
Bcc:
Date: Tue, 27 Mar 2018 07:58:54 -0700 (MST)
Subject: [Gfoss] Layout di stampa a scala fissa e foglio variabile
Salve a tutti!
Come affrontereste questo problema: ho una serie di aree comunali, fissando
una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2 e
così via. I comuni in totale sono oltre 300 a cui vanno aggiunte le
macroaree in cui ricadono(consideratele come le province). In fase di
stampa
inoltre devo avere un layout che dia un effetto velatura ai comuni
confinanti con quello a cui fa riferimento la stampa e deve esserci un
riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente la
macroarea a cui fa riferimento con lo steso effetto velatura però verso le
macroaree confinanti.

Non voglio mettermi a creare un tot di poligoni di copertura...finisco di
fare i layout di stampa il prossimo anno! Nè tanto meno voglio creare un
layout di stampa per ogni singolo comune o macroaree(stesso motivo di
prima,
certo a mali estremi mi abbraccio la croce!). Già trovare un modo per
definire in maniera automatica le dimensioni(altezza e larghezza) del
quadrilatero che contiene l'area comunale potrebbe essere utile per
definire
un range di dimensioni in cui, fissata la scala, posso associare un tipo di
foglio(A1, A2,etc). Resterebbe poi il problema del doppio vettore di
copertura per la trasparenza delle aree esterne a quella di stampa. Ho
provato ad usare il plugin "Mask" e l'atlante ma senza successo.

Voi come vi muovereste?

-----
Ingegnere, consulente GIS e ciclista urbano
--
Sent from:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/

---------- Forwarded message ----------
From: Amedeo Fadini <amefad@gmail.com>
To: Massimiliano Moraca <massimilianomoraca@gmail.com>
Cc: gfoss@lists.gfoss.it
Bcc:
Date: Tue, 27 Mar 2018 18:51:53 +0200
Subject: Re: [Gfoss] Layout di stampa a scala fissa e foglio variabile
Ciao!
Il 27/mar/2018 04:58 PM, "Massimiliano Moraca" <
massimilianomoraca@gmail.com>
ha scritto:

Salve a tutti!
Come affrontereste questo problema: ho una serie di aree comunali, fissando
una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2 e
così via.

Non dovresti avere problemi a generare una espressione che definisca il
formato e l'orientamento in base alla feature o al suo bbox...

vedi ad es. qui:

https://gis.stackexchange.com/questions/167515/map-atlas-switching-orientation-in-qgis

[…] In fase di stampa
inoltre devo avere un layout che dia un effetto velatura ai comuni
confinanti con quello a cui fa riferimento la stampa

Duplichi il livello comuni e applichi uno stile tramite regole del tipo:

$id = @atlas_featureid

e deve esserci un
riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente la
macroarea a cui fa riferimento con lo steso effetto velatura però verso le
macroaree confinanti.

questo più rognoso... imposti una overview map ma per lo stile delle
macroaree devi legarti sempre al vettore di copertura con una funzione del
tipo:

id <>attribute(@atlasfeature, 'ID_macroarea')

puoi anche impostare una relazione geografica ma mi pare pesante da
elaborare...

vedi

https://gis.stackexchange.com/questions/194323/rule-based-labeling-using-atlas-qgis-2-14-1

Amefad

---------- Forwarded message ----------
From: Massimiliano Moraca <massimilianomoraca@gmail.com>
To: Amedeo Fadini <amefad@gmail.com>
Cc: "GFOSS.it" <gfoss@lists.gfoss.it>
Bcc:
Date: Tue, 27 Mar 2018 20:28:21 +0200
Subject: Re: [Gfoss] Layout di stampa a scala fissa e foglio variabile
Grazie Amedeo, domani a mente un po' più lucida cerco di capirci
qualcosa...

Il giorno 27 marzo 2018 18:51, Amedeo Fadini <amefad@gmail.com> ha
scritto:

>
> Ciao!
> Il 27/mar/2018 04:58 PM, "Massimiliano Moraca" <
> massimilianomoraca@gmail.com> ha scritto:
>
> Salve a tutti!
> Come affrontereste questo problema: ho una serie di aree comunali,
fissando
> una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2 e
> così via.
>
>
> Non dovresti avere problemi a generare una espressione che definisca il
> formato e l'orientamento in base alla feature o al suo bbox...
>
> vedi ad es. qui:
>
> https://gis.stackexchange.com/questions/167515/map-atlas-
> switching-orientation-in-qgis
>
>
>
> […] In fase di stampa
> inoltre devo avere un layout che dia un effetto velatura ai comuni
> confinanti con quello a cui fa riferimento la stampa
>
>
> Duplichi il livello comuni e applichi uno stile tramite regole del tipo:
>
> $id = @atlas_featureid
>
> e deve esserci un
> riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente
la
> macroarea a cui fa riferimento con lo steso effetto velatura però verso
le
> macroaree confinanti.
>
>
> questo più rognoso... imposti una overview map ma per lo stile delle
> macroaree devi legarti sempre al vettore di copertura con una funzione
del
> tipo:
>
> id <>attribute(@atlasfeature, 'ID_macroarea')
>
> puoi anche impostare una relazione geografica ma mi pare pesante da
> elaborare...
>
> vedi
>
> https://gis.stackexchange.com/questions/194323/rule-based-
> labeling-using-atlas-qgis-2-14-1
>
> Amefad
>
>
>
>
>

_______________________________________________
Gfoss mailing list
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
802 iscritti al 30.11.2015

Ciao Carlo, come linguaggio per lo script suppongo serva Python giusto?
Comunque non ho conoscenze su Python quindi non è una strada che posso
percorrere. Grazie comunque per l'indicazione.

Il giorno 28 marzo 2018 12:10, CARLO CORMIO <carlo.cormio@gmail.com> ha
scritto:

Ti servirebbe un bello script per editare il file di progetto (nella parte
relativa alla stampa) dopo aver impostato un un template.
La procedura mi pare abbastanza ripetitiva, quindi con dei cicli for
dovresti riuscire a lanciare le stampe in automatico, ed eviteresti di
dover duplicare le mappe.

Ciao,

Carlo

>
>
> ---------- Forwarded message ----------
> From: Massimiliano Moraca <massimilianomoraca@gmail.com>
> To: gfoss@lists.gfoss.it
> Cc:
> Bcc:
> Date: Tue, 27 Mar 2018 07:58:54 -0700 (MST)
> Subject: [Gfoss] Layout di stampa a scala fissa e foglio variabile
> Salve a tutti!
> Come affrontereste questo problema: ho una serie di aree comunali,
fissando
> una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2 e
> così via. I comuni in totale sono oltre 300 a cui vanno aggiunte le
> macroaree in cui ricadono(consideratele come le province). In fase di
> stampa
> inoltre devo avere un layout che dia un effetto velatura ai comuni
> confinanti con quello a cui fa riferimento la stampa e deve esserci un
> riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente
la
> macroarea a cui fa riferimento con lo steso effetto velatura però verso
le
> macroaree confinanti.
>
> Non voglio mettermi a creare un tot di poligoni di copertura...finisco di
> fare i layout di stampa il prossimo anno! Nè tanto meno voglio creare un
> layout di stampa per ogni singolo comune o macroaree(stesso motivo di
> prima,
> certo a mali estremi mi abbraccio la croce!). Già trovare un modo per
> definire in maniera automatica le dimensioni(altezza e larghezza) del
> quadrilatero che contiene l'area comunale potrebbe essere utile per
> definire
> un range di dimensioni in cui, fissata la scala, posso associare un tipo
di
> foglio(A1, A2,etc). Resterebbe poi il problema del doppio vettore di
> copertura per la trasparenza delle aree esterne a quella di stampa. Ho
> provato ad usare il plugin "Mask" e l'atlante ma senza successo.
>
> Voi come vi muovereste?
>
> -----
> Ingegnere, consulente GIS e ciclista urbano
> --
> Sent from:
> http://gfoss-geographic-free-and-open-source-software-
italian-mailing.3056002.n2.nabble.com/
>
>
>
>
> ---------- Forwarded message ----------
> From: Amedeo Fadini <amefad@gmail.com>
> To: Massimiliano Moraca <massimilianomoraca@gmail.com>
> Cc: gfoss@lists.gfoss.it
> Bcc:
> Date: Tue, 27 Mar 2018 18:51:53 +0200
> Subject: Re: [Gfoss] Layout di stampa a scala fissa e foglio variabile
> Ciao!
> Il 27/mar/2018 04:58 PM, "Massimiliano Moraca" <
> massimilianomoraca@gmail.com>
> ha scritto:
>
> Salve a tutti!
> Come affrontereste questo problema: ho una serie di aree comunali,
fissando
> una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2 e
> così via.
>
>
> Non dovresti avere problemi a generare una espressione che definisca il
> formato e l'orientamento in base alla feature o al suo bbox...
>
> vedi ad es. qui:
>
>
> https://gis.stackexchange.com/questions/167515/map-atlas-
switching-orientation-in-qgis
>
>
>
> […] In fase di stampa
> inoltre devo avere un layout che dia un effetto velatura ai comuni
> confinanti con quello a cui fa riferimento la stampa
>
>
> Duplichi il livello comuni e applichi uno stile tramite regole del tipo:
>
> $id = @atlas_featureid
>
> e deve esserci un
> riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente
la
> macroarea a cui fa riferimento con lo steso effetto velatura però verso
le
> macroaree confinanti.
>
>
> questo più rognoso... imposti una overview map ma per lo stile delle
> macroaree devi legarti sempre al vettore di copertura con una funzione
del
> tipo:
>
> id <>attribute(@atlasfeature, 'ID_macroarea')
>
> puoi anche impostare una relazione geografica ma mi pare pesante da
> elaborare...
>
> vedi
>
>
> https://gis.stackexchange.com/questions/194323/rule-based-
labeling-using-atlas-qgis-2-14-1
>
> Amefad
>
>
>
>
> ---------- Forwarded message ----------
> From: Massimiliano Moraca <massimilianomoraca@gmail.com>
> To: Amedeo Fadini <amefad@gmail.com>
> Cc: "GFOSS.it" <gfoss@lists.gfoss.it>
> Bcc:
> Date: Tue, 27 Mar 2018 20:28:21 +0200
> Subject: Re: [Gfoss] Layout di stampa a scala fissa e foglio variabile
> Grazie Amedeo, domani a mente un po' più lucida cerco di capirci
> qualcosa...
>
> Il giorno 27 marzo 2018 18:51, Amedeo Fadini <amefad@gmail.com> ha
> scritto:
>
> >
> > Ciao!
> > Il 27/mar/2018 04:58 PM, "Massimiliano Moraca" <
> > massimilianomoraca@gmail.com> ha scritto:
> >
> > Salve a tutti!
> > Come affrontereste questo problema: ho una serie di aree comunali,
> fissando
> > una scala di stampa(es. 1:50.000) alcune entrano in un A0, altre in A2
e
> > così via.
> >
> >
> > Non dovresti avere problemi a generare una espressione che definisca il
> > formato e l'orientamento in base alla feature o al suo bbox...
> >
> > vedi ad es. qui:
> >
> > https://gis.stackexchange.com/questions/167515/map-atlas-
> > switching-orientation-in-qgis
> >
> >
> >
> > […] In fase di stampa
> > inoltre devo avere un layout che dia un effetto velatura ai comuni
> > confinanti con quello a cui fa riferimento la stampa
> >
> >
> > Duplichi il livello comuni e applichi uno stile tramite regole del
tipo:
> >
> > $id = @atlas_featureid
> >
> > e deve esserci un
> > riquadro di inquadramento generale(scala 1:1.000.000) in cui è presente
> la
> > macroarea a cui fa riferimento con lo steso effetto velatura però verso
> le
> > macroaree confinanti.
> >
> >
> > questo più rognoso... imposti una overview map ma per lo stile delle
> > macroaree devi legarti sempre al vettore di copertura con una funzione
> del
> > tipo:
> >
> > id <>attribute(@atlasfeature, 'ID_macroarea')
> >
> > puoi anche impostare una relazione geografica ma mi pare pesante da
> > elaborare...
> >
> > vedi
> >
> > https://gis.stackexchange.com/questions/194323/rule-based-
> > labeling-using-atlas-qgis-2-14-1
> >
> > Amefad
> >
> >
> >
> >
> >
>
> _______________________________________________
> Gfoss mailing list
> Gfoss@lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 802 iscritti al 30.11.2015
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017

Ciao Massimiliano, Ho fatto un test veloce e ti confermo che la gestione
della pagina si può fare con opportune espressioni, ad esempio per scala al
500 e formati A4 e A3 ho usato:

nel campo Composizione=>Larghezza:

Case
WHEN
(bounds_width( @atlas_geometry )/500 < 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 297
  WHEN
(bounds_width( @atlas_geometry )/500 > 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 420
End

nel campo Composizione=> Altezza

Case
WHEN
(bounds_width( @atlas_geometry )/500 < 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 210
  WHEN
(bounds_width( @atlas_geometry )/500 > 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 297
End

Resta da replicare le condizioni per ottenere un orientamento verticale
quando bounds_width < bounds_height, oppure si può ruotare la mappa di 90 °
a seconda di quali altri elementi hai nel layout

FIn qui ridimensioni la pagina, poi nelle proprietà dellìoggetto
mappa=>dimensione dovresti settare la grandezza della mappa con

@layout_pagewidth - 10

e

@layout_pageheight- 10

per un margine da 5 mm

Per una maggiore riusabilità io aggiungerei al progetto una variabile
pesonalizzata @scale, visto che mi pare che $scale non sia disponibile in
questo contesto, in passato ho trovato più agevole creare un attributo
"scala" al vettore di copertura e usare quello per pilotare l'atlante, ma
lì avevo il problema inverso di formto fisso e scale predeterminate.

A te scoprire tutte le altre combinazioni..
Buon lavoro

Amefad

Il giorno 28 marzo 2018 14:35, Massimiliano Moraca <
massimilianomoraca@gmail.com> ha scritto:

Ciao Carlo, come linguaggio per lo script suppongo serva Python giusto?

[...]

Grazie Carlo, appena avrò tempo e modo mi metterò a studiare Python.

Grazie anche a te Amedeo, in questi giorni se ho tempo farò un po' di test
altrimenti se ne parla dopo le festività pasquali.

Il giorno 28 marzo 2018 18:24, Amedeo Fadini <amefad@gmail.com> ha scritto:

Ciao Massimiliano, Ho fatto un test veloce e ti confermo che la gestione
della pagina si può fare con opportune espressioni, ad esempio per scala al
500 e formati A4 e A3 ho usato:

nel campo Composizione=>Larghezza:

Case
WHEN
(bounds_width( @atlas_geometry )/500 < 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 297
  WHEN
(bounds_width( @atlas_geometry )/500 > 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 420
End

nel campo Composizione=> Altezza

Case
WHEN
(bounds_width( @atlas_geometry )/500 < 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 210
  WHEN
(bounds_width( @atlas_geometry )/500 > 0.29
AND bounds_width( @atlas_geometry )> bounds_height( @atlas_geometry ))
THEN 297
End

Resta da replicare le condizioni per ottenere un orientamento verticale
quando bounds_width < bounds_height, oppure si può ruotare la mappa di 90 °
a seconda di quali altri elementi hai nel layout

FIn qui ridimensioni la pagina, poi nelle proprietà dellìoggetto
mappa=>dimensione dovresti settare la grandezza della mappa con

@layout_pagewidth - 10

e

@layout_pageheight- 10

per un margine da 5 mm

Per una maggiore riusabilità io aggiungerei al progetto una variabile
pesonalizzata @scale, visto che mi pare che $scale non sia disponibile in
questo contesto, in passato ho trovato più agevole creare un attributo
"scala" al vettore di copertura e usare quello per pilotare l'atlante, ma
lì avevo il problema inverso di formto fisso e scale predeterminate.

A te scoprire tutte le altre combinazioni..
Buon lavoro

Amefad

Il giorno 28 marzo 2018 14:35, Massimiliano Moraca <
massimilianomoraca@gmail.com> ha scritto:

Ciao Carlo, come linguaggio per lo script suppongo serva Python giusto?

[...]