[QGIS-it-user] Ordine di scrittura del file qgs

Salve,
sto costruendo un prototipo di progetto da replicare n volte (tutti i fogli di carta tecnica) cambiando via python (precessing) alcune parti (riferimento ai layer da caricare, bbox ecc).

I progetti in realtà sono due: uno per la scala 2000 ed uno per la scala 10000. In ciascun progetto setto la variabile di progetto "Scala" a 2 o a 10, che sarà poi utilizzata nel dimensionare gli stili dei simboli, linee e via dicendo.

Ho bisogno di confrontare i due progetti per essere sicuro che siano identici a meno delle righe che cambio. Questo lo faccio con i programmi di confronto file (windiff, winmerge...).
Ho notato che QGis, ogni volta che salva il file (sia con Salva con nome che non) scrive il qgs in maniera diversa: le righe sono scritte nello stesso ordine, ma il loro contenuto è ordinato diversamente se il tag xml prevede più attributi.
Questo fa si che mi sia impossibile, su un file da oltre 20.000righe, isolare le poche differenze.

Ne sia di esempio, tra le migliaia di righe diverse, la seconda riga:
<qgis saveUserFull="mionome" version="3.18.1-Zürich" saveUser="mionome" projectname="Vestizione CTR" saveDateTime="2022-02-16T15:36:09">
<qgis saveUser="mionome" saveUserFull="mionome" saveDateTime="2022-02-16T15:37:05" version="3.18.1-Zürich" projectname="Vestizione CTR">

ho provato con la versione 3.16.4 e con la 3.18.1 su Win.

Alquanto bizzarro e noioso.
Mi potete confermare?
grazie
marcog

Ciao Marco,
c'è un plugin che dovrebbe risolvere questo problema: https://plugins.qgis.org/plugins/trackable_project_files/

A presto.

Andrea

Il 16/02/2022 15:48, Marco Guiducci ha scritto:

Ho notato che QGis, ogni volta che salva il file (sia con Salva con nome che non) scrive il qgs in maniera diversa: le righe sono scritte nello stesso ordine, ma il loro contenuto è ordinato diversamente se il tag xml prevede più attributi.
Questo fa si che mi sia impossibile, su un file da oltre 20.000righe, isolare le poche differenze.

Il 16/02/2022 18:19, Andrea Giudiceandrea ha scritto:

Ciao Marco,
c'è un plugin che dovrebbe risolvere questo problema: https://plugins.qgis.org/plugins/trackable_project_files/

A presto.

Andrea

Il 16/02/2022 15:48, Marco Guiducci ha scritto:

Ho notato che QGis, ogni volta che salva il file (sia con Salva con nome che non) scrive il qgs in maniera diversa: le righe sono scritte nello stesso ordine, ma il loro contenuto è ordinato diversamente se il tag xml prevede più attributi.
Questo fa si che mi sia impossibile, su un file da oltre 20.000righe, isolare le poche differenze.

Grazie!
funziona al 99%.
scombina, almeno nel mio progetto, i figli di questo elemento: <individual-layer-settings> che son rimangono nell'ordine e vengono inserite extra linee bianche (diverse ad ogni salvataggio).
ma direi che il passo è enorme.
da ieri penso alla causa: non conoscendo i gangli di QGis, ho pensato che il progetto, all'apertura, sia caricato in un db sqlite. il salvataggio avverrà attraverso query sql che, senza un parametro order by, restituiscono la soluzione in ordine "sparso".
ma ho anche notato che la proprietà "prop" era sempre ordinata nello stesso modo, tutte le altre no.
Ci sono alcune proprietà con due soli attributi e ho pensato che statisticamente una volta su due l'ordine dovrebbe essere giusto.
ma qui interviene la legge di murphy...

comunque il mio problema è risolto. grazie ancora

--
Marco Guiducci
Regione Toscana - Settore Sistema Informativo e pianificazione del territorio

Suggerirei di aprire un ticket sul plugin, quello che hai notato non dovrebbe essere difficile da sistemare, almeno in parte.

Il 17 febbraio 2022 12:17:56 EET, Marco Guiducci marco.guiducci@regione.toscana.it ha scritto:

Il 16/02/2022 18:19, Andrea Giudiceandrea ha scritto:

> Ciao Marco,
>  c'è un plugin che dovrebbe risolvere questo problema: 
>  [https://plugins.qgis.org/plugins/trackable_project_files/](https://plugins.qgis.org/plugins/trackable_project_files/)
> 
>  A presto.
> 
>  Andrea
> 
>  Il 16/02/2022 15:48, Marco Guiducci ha scritto:
> 
> > Ho notato che QGis, ogni volta che salva il file (sia con Salva con 
> > nome che non) scrive il qgs in maniera diversa: le righe sono scritte 
> > nello stesso ordine, ma il loro contenuto è ordinato diversamente se 
> > il tag xml prevede più attributi.
> > Questo fa si che mi sia impossibile, su un file da oltre 20.000righe, 
> > isolare le poche differenze.

Grazie!
funziona al 99%.
scombina, almeno nel mio progetto, i figli di questo elemento: 
<individual-layer-settings> che son rimangono nell'ordine e vengono 
inserite extra linee bianche (diverse ad ogni salvataggio).
ma direi che il passo è enorme.
da ieri penso alla causa: non conoscendo i gangli di QGis, ho pensato 
che il progetto, all'apertura, sia caricato in un db sqlite. il 
salvataggio avverrà attraverso query sql che, senza un parametro order 
by, restituiscono la soluzione in ordine "sparso".
ma ho anche  notato che la proprietà "prop" era sempre ordinata nello 
stesso  modo, tutte le altre no.
Ci sono alcune proprietà con due soli attributi e ho pensato che 
statisticamente una volta su due l'ordine dovrebbe essere giusto.
ma qui interviene la legge di murphy...

comunque il mio problema è risolto. grazie ancora


Sorry for being short

Il 17/02/2022 11:17, Marco Guiducci ha scritto:

Grazie!
funziona al 99%.
scombina, almeno nel mio progetto, i figli di questo elemento: <individual-layer-settings> che son rimangono nell'ordine e vengono inserite extra linee bianche (diverse ad ogni salvataggio).

Ciao Marco,
come puoi leggere nel repository del plugin su GitHub, il problema è già stato segnalato qualche mese fa https://github.com/opengisch/qgis_trackable_project_files/issues/21

Comunque stai usando delle versioni di QGIS rilasciate un anno fa e nel frattempo il problema potrebbe essere stato risolto.

A presto.

Andrea

Il 17/02/2022 11:28, Andrea Giudiceandrea ha scritto:

Il 17/02/2022 11:17, Marco Guiducci ha scritto:

Grazie!
funziona al 99%.
scombina, almeno nel mio progetto, i figli di questo elemento: <individual-layer-settings> che son rimangono nell'ordine e vengono inserite extra linee bianche (diverse ad ogni salvataggio).

Ciao Marco,
come puoi leggere nel repository del plugin su GitHub, il problema è già stato segnalato qualche mese fa https://github.com/opengisch/qgis_trackable_project_files/issues/21

Comunque stai usando delle versioni di QGIS rilasciate un anno fa e nel frattempo il problema potrebbe essere stato risolto.

A presto.

Andrea
_______________________________________________

ah ecco. ho letto.
anche questo |<geographicflag>false</geographicflag>, segnalato nell'intervento che mi dai, è veramente ganzo.
Io non l'avevo rammentato ma me ne ero accorto.
il plugin l'ho testato con la 3.16.4.
Lo testerò anche con la 3.18.1. Altre versioni più recenti, al momento, non le uso.|
ciao e grazie

--
Marco Guiducci
Regione Toscana - Settore Sistema Informativo e pianificazione del territorio