– Gianni Rossi –
N.B.: articolo di una serie, leggi la nota finale.
Recentemente nel forum di www.topgeometri.it abbiamo scoperto e dibattuto un’ulteriore anomalia del calcolo di Pregeo (come se non bastassero quelle già emerse in passato e che potete trovare in questo blog all’articolo riepilogativo: I rischi nel valutare i risultati del calcolo di Pregeo). Se volete vedere quella discussione, la trovate qui: Pregeo: Stranezze in elaborazione linee 4-5. In questo articolo cercherò di farne un’analisi il più completa e dettagliata che mi riuscirà.
Si tratta del caso in cui si definiscono allineamenti che generano altri allineamenti. A scoprire il bug è stato un collega che aveva compilato il libretto sotto riportato per un Tipo Mappale definito da un rilievo di tipo misto GPS-Allineamenti:
0|15052025|1|A703|0110|172|GIANNI ROSSI|GEOMETRA|PADOVA|
9|0|10|20|0|PREGEO 10.00-G,APAG 2.08|FR|Geomax|
1|1000|4364268.22,875951.95,4554047.56|0.000|
6|L2|12062024-09:00|12062024-11:00|RTK|PDOP=2|
2|100|281.332,-315.340,-250.114|0,0,0,0,0,0|PDOP=3|2.106|[VRS]|
2|151|312.873,-258.560,-286.730|0,0,0,0,0,0|PDOP=3|2.106|SF|
2|188|317.839,-265.072,-290.999|0,-0,0,0,0,0|PDOP=3|2.106|SF|
6|Rilievo per allineamenti e squadri|
4|151|188|-50|
5|1|11.78|0.00|Rif. allineamento fabbricato confine|
4|188|151|50|
5|1|11.46|0.00|Rif. allineamento fabbricato confine|
4|188|1|0|*S*|
5|2|7.55|0.00|
Note:
- Per motivi di privacy ho sostituito in riga 0 il nome del collega con il mio e le coordinate geocentriche della base NRTK con quelle di una base fittizia (del Veneto) in modo che non si possa risalire alla zona originaria.
- Il libretto è molto più esteso di quello qui riprodotto che riporta la sola parte che genera il problema.
- Per motivi di impaginazione ho azzerato i valori delle matrici di varianza-covarianza, che non influenzano il calcolo, e che invece nel libretto originario sono debitamente presenti.
Come vedete, il libretto riporta la base GPS di rete NRTK 1000 e quella virtuale locale [VRS] 100 più le baseline a due punti GPS: il 151 e il 188. Dopodiché, con riferimento al disegno che segue, da tali punti ne sono stati generati altri due mediante allineamenti, cioè con le righe 4 e 5.

Le prime due coppie di righe 4-5 costituiscono un allineamento che definisce il punto 1 per intersezione di circonferenze. Queste righe vanno infatti lette così:
4|151|188|-50|
5|1|11.78|0.00|
- Riga 4: mi posiziono sul punto 151 (origine), guardo il punto 188 (orientamento) e misuro il punto 1 che sta alla mia sinistra, cioè mi giro in senso antiorario (angolo fittizio -50).
- Riga 5: misuro (con disto o cordella metrica) 11.78 m al punto 1.
Analogamente, le successive due righe vanno lette così:
4|188|151|50|
5|1|11.46|0.00|
- Riga 4: mi posiziono sul punto 188 (origine), guardo il punto 151 (orientamento) e misuro il punto 1 che sta alla mia destra, cioè mi giro in senso orario (angolo fittizio +50).
- Riga 5: misuro (con disto o cordella metrica) 11.46 m al punto 1.
In questo modo, come dicevo, il punto 1 viene fissato nell’intersezione delle due circonferenze tracciate con centro sui punti 151 e 188 e raggi rispettivamente di 11.78 e 11.46 m. Infine, le ultime due righe 4 e 5 fissano il punto 2 mediante un normale allineamento per squadri tra il punto 188 e il punto 1 appena generato. Questa la lettura:
4|188|1|0|*S*|
5|2|7.55|0.00|
- Riga 4: mi posiziono sul punto 188 (origine) e guardo il punto 1 (orientamento), rimanendo su tale allineamento (angolo fittizio pari a zero).
- Riga 5: misuro 7.55 m al punto 2 che giace sull’allineamento stesso (squadro pari a 0.00).
Nella riga 4 è stato inoltre inserito sul campo Nota (quello finale a destra) la notazione *S* che nella sintassi di Pregeo sta per Strumentale, ad indicare che l’allineamento è stato realizzato da un effettivo rilievo e non a Vista, nel qual caso la nota da inserire sarebbe *V*. Da quanto riportato nella documentazione di Pregeo, tale specifica dovrebbe avere un mero valore indicativo, mentre invece il caso che stiamo trattando dimostra che altera completamente il calcolo.
Infatti, se elaboriamo in Pregeo il libretto di cui sopra, otteniamo questi risultati:
Punti della Rete
nome nord sqm est sqm sMax sMin incl. 1000 327.209 +/-0.016 364.331 +/-0.009 0.019 0.001 67.547 100 0.312 +/-0.015 -0.842 +/-0.016 0.017 0.014 44.586 151 -55.494 +/-0.017 48.513 +/-0.027 0.027 0.016 190.048 188 -61.027 +/-0.022 41.141 +/-0.019 0.026 0.014 58.429 1 -67.707 +/-0.037 50.775 +/-0.047 0.057 0.019 40.362
Punti di Dettaglio
2 -64.803 +/-0.030 47.679 +/-0.033 0.042 0.017 45.795
A guardarli numericamente sembra tutto corretto (a parte le coordinate della 100, vedi oltre), le reciproche posizioni dei punti sono verosimili e gli sqm/ellissi sono nella norma. Ma se ci facciamo creare da Pregeo il disegno DXF, vediamo che in realtà questi risultati sono completamente sballati:

Il punto 2, anziché essere sull’allineamento 188-1 è spostato all’interno del triangolo di ben 62 cm. Anche il punto 1 è sballato perché non rispetta le distanze dell’intersezione inserite nel libretto:
- la distanza 151-1 risulta 12.42 anziché 11.78;
- la distanza 188-1 risulta 11.74 anziché 11.46
Eppure Pregeo non fa una piega, l’elaborazione termina con il riquadro verde senza segnalare alcuna imperfezione.
Vi sembra normale questo comportamento di Pregeo?
A me no, anche perché in questo caso la posizione del punto 2 fuori allineamento fa emergere visivamente il problema, ma in una situazione diversa l’errore passerebbe del tutto inosservato.
Ma cos’è che manda in tilt Pregeo su questo semplicissimo schema geometrico?
Sul forum ci abbiamo messo un bel po’ a scoprirlo, finché c’è riuscito qualche collega tra i più “smanettoni” di Pregeo. Il problema è proprio quella notazione *S* che citavo sopra. Infatti, togliendola, Pregeo dà i risultati listati qui sotto che riproducono correttamente la geometria del rilievo, nel senso che le distanze 151-1, 188-1, 188-2 sono rispettate e il punto 2 giace esattamente sulla congiungente 188-1. Dopodiché, sulla correttezza assoluta di queste coordinate io ho i dubbi di cui dirò più avanti.
Punti della Rete
nome nord sqm est sqm sMax sMin incl. 1000 327.103 +/-0.044 364.270 +/-0.031 0.053 0.006 61.016 100 0.165 +/-0.036 -0.864 +/-0.038 0.038 0.036 16.417 151 -55.636 +/-0.042 48.497 +/-0.066 0.066 0.041 196.426 188 -61.170 +/-0.062 41.125 +/-0.041 0.065 0.036 77.008 1 -67.170 +/-0.064 50.889 +/-0.080 0.099 0.027 41.871
Punti di Dettaglio
2 -65.123 +/-0.048 47.558 +/-0.063 0.074 0.029 38.410
Su un altro forum dedicato agli stessi temi, alcuni colleghi, noti per la loro beatificazione di Pregeo, hanno sostenuto che, pertanto, essendo sufficiente omettere la notazione *S*, non è Pregeo che sbaglia ma il tecnico che non lo sa usare. Naturalmente questa è un’autentica idiozia dal momento che in nessuna documentazione di Pregeo sta scritto che la nota *S* non deve essere inserita nei casi come quello qui trattato. Anzi, le istruzioni di Pregeo indicano che:
- È corretto inserire *S* quando l’allineamento riguarda, come in questo caso, la facciata di un fabbricato.
- Omettere la *S* equivale ad aver invece inserito *V*.
Infatti, se inseriamo *V* al posto di *S* i risultati rimangono quelli corretti di cui sopra. Il che è una contraddizione in termini perché un allineamento “a vista” andrebbe considerato di rango inferiore ad uno “strumentale” e come tale dovrebbe essere questo, semmai, a dare risultati meno affidabili (anche se, comunque, non certo completamente sballati come quelli che abbiamo visto).
Ma al di là di queste disquisizioni sul *S* o *V*, io ho cercato anche di capire dove si annida l’errore di calcolo che abbiamo visto e sono giunto alla conclusione che la causa è la stessa per la quale Pregeo calcola sqm mostruosi (che arrivano anche ad alcuni km) nel caso in cui, in un rilievo GPS, il tecnico inserisce, casualmente, quale primo punto (riga 2) dopo la base, un punto che si trova a distanza ravvicinata dalla base stessa (caso trattato all’articolo Pregeo, l’orientamento angolare nei rilievi GPS). Il quel caso lo sballo deriva dal fatto che Pregeo considera la “rete” di calcolo costituita dalla stazione GPS e da tale (casuale) primo punto. E poiché trasforma le rilevazioni GPS in celerimetriche, la distanza ravvicinata di tale punto (evidentemente considerato quale orientamento) produce sqm di km.
Nel caso qui trattato avviene lo stesso: se riguardate i risultati sopra, vedete che Pregeo inserisce tra i Punti della rete il punto 1 generato dall’allineamento “padre” 151-188 (intersezione), mentre inserisce tra i Punti di Dettaglio il punto 2 generato dall’allineamento “figlio” 188-1. La costituzione di questa “rete” in combinazione con l’annotazione *S* su quest’ultimo allineamento causa l’anomalia.
Meno male che adesso lo sappiamo !!!
I dubbi che ho espresso nel commentare i risultati di Pregeo visti sopra, riguardano le coordinate del punto GPS 100 definito nel libretto quale VRS, cioè la base locale del rilievo. Questa definizione dovrebbe far sì che tale punto sia considerato la nuova origine, che dovrebbe pertanto avere coordinate esattamente pari a zero, mentre invece Pregeo calcola i valori riprodotti qui sotto, confrontati con quelli del mio software Geocat:
Geocat Pregeo
nome nord est nord est
1000 327.605 364.536 327.103 364.270
100 0.000 0.000 0.165 -0.864
151 -55.710 49.463 -55.636 48.497
188 -61.258 42.101 -61.170 41.125
1 -67.241 51.875 -67.170 50.889
2 -65.199 48.541 -65.123 47.558
Le diverse coordinate della base 100, in particolare gli 86 cm Est, provocano ovviamente una traslazione delle due elaborazioni, come evidenziato nel disegno che segue (in nero quella di Pregeo, in blu quella di Geocat):

Nel disegno qui sopra ho riportato, nel triangolo di Pregeo, anche le misure dei due angoli sui vertici 151 e 188. Vi spiego il motivo: inseriamo questi valori angolari nel libretto Pregeo al posto di quelli fittizi -50/+50 che Pregeo utilizza semplicemente per stabilire la direzione (oraria o antioraria) verso la quale si trova il punto di intersezione rispetto alla direzione origine-orientamento:
4|151|188|-72.0193|
5|1|11.78|0.00|Rif. allineamento fabbricato confine|
4|188|151|76.0777|
5|1|11.46|0.00|Rif. allineamento fabbricato confine|
4|188|1|0|*S*|
5|2|7.55|0.00|
Rielaboriamo il libretto così modificato e vediamo che le coordinate della base locale 100 si azzerano e di conseguenza anche quelle di tutti gli altri punti coincidono con quelle di Geocat a meno dei normali arrotondamenti.
Geocat Pregeo
nome nord est nord est
1000 327.605 364.536 327.625 364.518
100 0.000 0.000 0.000 -0.000
151 -55.710 49.463 -55.707 49.466
188 -61.258 42.101 -61.255 42.104
1 -67.241 51.875 -67.237 51.879
2 -65.199 48.541 -65.196 48.544
Da notare che tali risultati si ottengono sia inserendo la notazione *S* che omettendola.
Lascio a voi che leggete trarre eventuali considerazioni sulla variabilità dei risultati di Pregeo a parità di rilievo.
Nota: questo articolo fa parte di una serie dedicata all’analisi topografica dei risultati di Pregeo, analisi le cui motivazioni sono riportate nell’articolo I rischi nel valutare i risultati del calcolo di Pregeo che vi invito pertanto a leggere per primo.

