​Come risolvere l’ambiguità della stazione libera

Gianni Rossi

Nell’articolo Pregeo, mancato collegamento di stazioni libere abbiamo visto che il software Sogei non consente l’impiego della stazione libera, vale a dire una stazione TS fatta su un punto qualsiasi a scelta del tecnico (dove gli torna più comodo ai fini del rilievo) e agganciata al rilievo principale mediante l’osservazione per angolo e distanza a due o più punti GPS o già rilevati dalle stazioni TS precedenti. Sempre in quell’articolo ho avanzato anche delle ipotesi circa le motivazioni per le quali Pregeo rifiuta questo schema, una tecnica che, se adottata correttamente, è invece topograficamente rigorosa, tant’è che a utilizzarla per primo (ben due secoli fa) fu niente meno che Ignazio Porro (1801-1875), considerato uno dei padri della topografia in Italia e dal quale prese il nome di Metodo Porro.

Discutendo di questo argomento su un gruppo Facebook di topografi, alcuni dei partecipanti al dibattito hanno sollevato un’altra motivazione, molto più concreta, per la mancata applicazione in Pregeo della stazione libera, vale a dire l’ambiguità nel capire, per un software, da che parte si trova la stazione rispetto ai punti di aggancio.

Qual è il problema?

Lo vediamo nella Figura 1: la stazione libera S osserva gli angoli orizzontali (ϑ1 e ϑ2) e le distanze (d1 e d2) ai due punti 1 e 2, noti per essere stati rilevati dal GPS o da altre stazioni calcolabili. Se ribaltiamo il triangolo S-1-2 facendolo ruotare in 3D attorno alla congiungente 1-2, la stazione S va a finire in S’ e, da questa, sia gli angoli che le distanze ai punti 1 e 2 possono avere esattamente gli stessi valori.

Figura 1La situazione di ambiguità della stazione libera: entrambe le stazioni S e S’ osservano gli stessi angoli e distanze ai due punti di aggancio 1 e 2.

Il problema è dunque quello di stabilire qual è, tra S e S’, la stazione effettiva. Naturalmente per il topografo che ha eseguito il rilievo l’ambiguità non esiste per niente; lui lo sa benissimo da che parte si trova la stazione. Ma un software che ha a disposizione i soli dati nudi e crudi, senza essere stato in campagna, non può sapere a priori da che parte si trova la stazione rispetto alla congiungente 1-2. In effetti, se ci pensate, il problema non è per niente semplice: gli angoli e le distanze ai punti 1 e 2 sono le stesse, sia da S che da S’.

Come se ne viene fuori da questa ambiguità?

Andiamo per gradi. Innanzi tutto vediamo cosa cambia nel calcolo delle coordinate della stazione a seconda che la stessa sia in S oppure in S’. Per capirlo, vediamo, con il supporto della Figura 2, i passaggi da svolgere per raggiungere questo risultato.

Figura 2 Gli azimut e gli angoli sui due punti 1 e 2: a seconda che la stazione sia S oppure S’ cambia l’aritmetica angolare per risolvere il caso.

Supponiamo per il momento che la stazione sia in S. Per calcolare le sue coordinate a partire da quelle note dei punti 1 e 2, dobbiamo in pratica invertire la situazione, vale a dire considerare i punti 1 e 2 come se fossero loro le stazioni e la stazione S come se fosse lei il punto da calcolare(1). Le distanze d1 e d2 le abbiamo, dobbiamo trovare gli azimut ϑ1S e ϑ2S mediante i seguenti passaggi:

  1. Nel triangolo S-1-2 sono noti tutti e tre i lati: d1 e d2 dalle letture celerimetriche e il lato 1-2 dalle coordinate dei punti stessi calcolate dalla parte di rilievo precedente (GPS o TS). In più è noto anche l’angolo interno γ in S dato dalla differenza degli angoli orizzontali a 1 e 2.
  2. Con questi dati a disposizione diventa facile calcolare gli altri due angoli interni α e β (con il teorema dei seni).
  3. Poi si calcolano gli azimut ϑ12 e ϑ21 tra i punti 1 e 2 in funzione delle rispettive coordinate.
  4. Con i due azimut ϑ12 e ϑ21 e i due angoli interni α e β i due azimut si trovano facendo:
\[ ϑ_{1S}=ϑ_{12}+α\hspace{20mm}ϑ_{2S}=ϑ_{21}-β \]

Se invece la stazione è in S’, l’aritmetica si inverte:

\[ ϑ_{1S’}=ϑ_{12}-α\hspace{20mm}ϑ_{2S’}=ϑ_{21}+β \]

Dobbiamo pertanto stabilire in quale delle due posizioni è la stazione libera per poter svolgere l’uno o l’altro calcolo. E qui siamo tornati al problema di partenza. Per risolverlo bisogna guardare molto più attentamente la geometria dei due triangoli S-1-2 e S’-1-2 di Figura 1 rispetto alla congiungente 1-2.

Siamo proprio sicuri che siano esattamente simmetrici?

Beh, se ci limitiamo ai triangoli in sé, sì, sono perfettamente simmetrici. Ma se ci focalizziamo invece sugli angoli orizzontali letti dalle due stazioni, possiamo capire che questi invece non lo sono affatto. Per appurarlo, torniamo a quanto dicevo all’inizio per introdurre il problema, e cioè di ribaltare il triangolo S-1-2 sulla congiungente 1-2. Proviamo a farlo da CAD utilizzando il comando Specchio(2). Questo comando esegue proprio il ribaltamento che ci serve. Ci chiede dapprima di selezionare le entità da specchiare, richiesta alla quale rispondiamo selezionando tutte le entità del triangolo S-1-2. Dopodiché ci chiede i due punti che definiscono la linea di ribaltamento, al che selezioniamo i punti 1 e 2. Confermati questi ultimi (rispondendo negativamente alla richiesta di cancellare le entità originarie), il risultato è il seguente:

Figura 3 Se i due triangoli S-1-2 e S’-1-2 fossero realmente simmetrici, come in questa figura, gli angoli orizzontali letti da S’ avrebbero verso antiorario, rispetto a quelli di S che hanno invece verso orario. Questo significa che, se dalle due stazioni si sono letti gli stessi angoli (vedi Figura 1), abbiamo modo di stabilire quale delle due è la stazione effettiva.

Se lo confrontiamo con quello di Figura 1, notiamo che l’orientamento di S’ va verso sinistra, invece che verso destra (come in quella figura) e che gli angoli orizzontali da S’ su 1 e 2 girano in senso antiorario, anziché in senso orario come in S.

Quindi non è vero che i dati di partenza sono gli stessi, come avevamo invece dato inizialmente per scontato!

Questo significa che gli angoli orizzontali sono sì di pari valore tra S e S’, ma cambia l’orientamento e la direzione che passa da oraria o antioraria. Abbiamo finalmente trovato la discriminante per stabilire se, con i dati di partenza, siamo in S o in S’.

Ma come facciamo a rilevarla?

Dobbiamo verificare per l’appunto la direzione, oraria o antioraria, degli angoli letti da S e da S’:

  • se è oraria siamo in S;
  • se è antioraria siamo in S’.

Per capirlo bisogna considerare il senso di rotazione necessario a portare il primo lato (stazione-punto 1) sul secondo (stazione-punto 2). Come si evince in Figura 3 qui sopra, se siamo in S, per portare il lato d1 sopra il lato d2 dobbiamo girare in senso orario. Mentre se siamo in S’, per portare il lato d1 sopra il lato d2 dobbiamo girare in senso antiorario (a parità di angolo di rotazione). Questo fatto lo si desume tornando alla Figura 1 dove gli angoli sono sempre e soltanto orari sia in S che in S’. Sono quelli gli angoli letti da S’ che hanno lo stesso valore di quelli letti in S. Ora, se riguardiamo con attenzione quella figura, ci accorciamo che, mentre in S l’angolo più piccolo è ϑ1, in S’ è invece ϑ2, viceversa il più grande in S è ϑ2 mentre in S’ è ϑ1. Ne consegue che la posizione della stazione si desume da queste verifiche:

[1]

\[ ϑ_2 > ϑ_1 = orario = siamo\hspace{2mm}in\hspace{2mm}S \]
\[ ϑ_2 < ϑ_1 = antiorario = siamo\hspace{2mm}in\hspace{2mm}S’ \]

A questo punto, stabilito se siamo in S oppure in S’, il problema è risolto perché sappiamo quale aritmetica applicare per trovare gli azimut dai punti 1 e 2 alla stazione a partire dagli azimut tra i due punti stessi. E naturalmente con questi due azimut Punto-Stazione e le due rispettive distanze note possiamo calcolare le coordinate della stazione a partire da quelle note dei punti. Ovviamente le calcoleremo sia a partire dal punto 1 che dal punto 2, ottenendo le due coppie di valori il cui raffronto ci permette di verificare la bontà del nostro operato. Se i valori risultano congrui, cioè differiscono di una quantità che rientra nella tolleranza imposta, determineremo le coordinate definitive della stazione dalla media dei valori trovati dai due punti.

Ma se pensate che allora sia tutto risolto, vi sbagliate. Quanto visto finora, infatti, funziona solo se l’orientamento della stazione è esterno al triangolo, come nel caso mostrato nelle figure di cui sopra. Se invece l’orientamento è interno, le cose cambiano, e l’algoritmo sopra descritto non funziona più; o meglio, funziona ancora, ma va invertito. Guardiamo questo esempio che riproduce lo stesso caso ma con l’orientamento della stazione interno al triangolo:

Figura 4 Se l’orientamento della stazione libera è interno al triangolo, l’algoritmo finora individuato non è più valido, l’aritmetica per trovare il senso orario o antiorario si inverte ancora una volta.

Qui l’aritmetica per calcolare il verso orario o antiorario si inverte rispetto a quella vista sopra nelle formule [1] valide per l’orientamento esterno al triangolo. Con l’orientamento interno le formule diventano:

[2]

\[ϑ_2 < ϑ_1 = orario = siamo\hspace{2mm}in\hspace{2mm}S \]
\[ϑ_2 > ϑ_1 = antiorario = siamo\hspace{2mm}in\hspace{2mm}S’ \]

Pertanto, per stabilire se siamo in S o in S’, dobbiamo dapprima capire se l’orientamento della stazione è interno o esterno al triangolo in modo da applicare le formule [1] oppure le [2] viste sopra. Questa verifica, tra l’altro, è strettamente legata anche al calcolo stesso dell’angolo interno sulla stazione. Come si fa? Partiamo ancora una volta dal caso dell’orientamento esterno al triangolo di Figura 1. Per calcolare l’angolo interno basta fare:

\[ ϑ_2\hspace{2mm}-\hspace{2mm}ϑ_1 \]

Il risultato che otteniamo è già l’angolo interno, cioè un valore inferiore di 200g, proprio perché l’orientamento è esterno al triangolo. L’unica differenza tra S e S’ è che in S l’angolo ha già il segno positivo (ϑ2 > ϑ1), mentre su S’ l’angolo ha valore negativo (ϑ2 < ϑ1). Ma quest’ultima evidenza non è un problema, ci basta prendere il valore assoluto sapendo che quello è comunque l’angolo interno. L’importante è aver capito che, se la differenza tra i due angoli orizzontali letti dalla stazione è inferiore a 200g (in valore assoluto), l’orientamento è esterno al triangolo. Vediamo ora se ci torna considerando l’orientamento interno al triangolo di Figura 4. Facciamo nuovamente:

\[ ϑ_2\hspace{2mm}-\hspace{2mm}ϑ_1 \]

Il risultato che otteniamo in questo caso è invece l’angolo esterno, cioè un valore superiore di 200g, e questo accade proprio perché l’orientamento è interno. In S il valore sarà negativo, quindi per passare all’angolo interno basterà sommargli 400g, mentre in S’ il valore sarà positivo, quindi basterà sottrarlo a 400g.

Questo ci conferma l’assunzione precedente, e cioè: se la differenza tra i due angoli orizzontali letti dalla stazione è superiore a 200g (in valore assoluto), l’orientamento è interno al triangolo.

Bene, a questo punto abbiamo tutti gli elementi per stabilire se la stazione libera è in S o in S’ e di conseguenza possiamo calcolarne correttamente le coordinate. Tra breve riassumerò tutti i passaggi da compiere per raggiungere questo risultato. Prima però mi preme evidenziare un aspetto che era stato sollevato quando ho postato questo tema sul gruppo Facebook di cui accennavo all’inizio. Alcuni colleghi asserivano che, per poter risolvere l’ambiguità di posizione della stazione libera rispetto ai due punti rilevati, fosse necessario rispettare già durante il rilievo in campagna l’ordine, orario o antiorario, nell’osservare i punti di aggancio. Ad esempio, se si adotta il verso orario, si inizia da quello posto più alla propria sinistra (guardando dalla stazione ai punti) e poi si rileva quello alla destra del primo. Oppure viceversa se si volesse adottare il verso antiorario. In realtà con l’algoritmo appena descritto non serve rispettare nessun ordine e si è liberi di rilevare i punti come viene più comodo al momento (d’altra parte si definisce “stazione libera” proprio per l’assoluta libertà di esecuzione). Lo possiamo capire tornando a guardare la Figura 1. Se la stazione è in S, il verso di rilevazione dei punti è orario: abbiamo osservato prima il punto 1 e poi il punto 2, girando in senso orario il cerchio orizzontale della TS. Se invece siamo in S’, il verso seguito è antiorario perché, pur avendo osservato sempre prima il punto 1 e poi il punto 2, in questo caso il cerchio orizzontale della TS ha girato in senso antiorario. Tuttavia, come abbiamo visto sopra, l’algoritmo che abbiamo individuato è in grado di discernere in entrambi i casi se la stazione è in S oppure in S’, risolvendo comunque il problema.

Finito?

No, c’è un altro aspetto da considerare, quello inerente al calcolo degli angoli interni α e β del triangolo. All’inizio della spiegazione avevo accennato di usare il teorema dei seni, e questo è effettivamente un metodo idoneo allo scopo. Ma io lo sconsiglio vivamente perché può portare fuori strada, vi spiego perché. Se vi ricordate un minimo di trigonometria, saprete che il seno di un angolo acuto, ϑ < 100g ha lo stesso valore positivo del suo angolo supplementare 200gϑ, come mostrato dal cerchio trigonometrico qui riprodotto(3):

Figura 5Il cerchio trigonometrico: il seno di un angolo acuto ϑ (ϑ < 100g) ha lo stesso valore positivo del suo angolo supplementare (200g – ϑ). Il coseno invece passa da positivo a negativo.

Questo significa che, una volta calcolato il seno dell’angolo con il teorema dei seni(4), quando si passa dal seno al valore dell’angolo stesso, con la funzione arcoseno, possiamo ottenere indifferentemente sia l’angolo interno effettivo che il suo valore supplementare. Per calare questa ulteriore ambiguità nell’esempio che abbiamo trattato, guardiamo la figura che segue e consideriamo l’angolo β nel punto 2:

Figura 6 – L’applicazione del teorema dei seni per trovare gli angoli interni α e β del triangolo sui due punti 1 e 2 può portare ad un ulteriore ambiguità perché, dato il valore del seno, l’angolo corrispondente (l’arcoseno) può essere sia quello interno che quello supplementare esterno in prolungamento della congiungente 1-2.

Se il valore dell’arcoseno restituito non è ma il suo supplementare, 200gβ, il triangolo su cui si agisce, anziché essere quello effettivo S-1-2, diventa quello adiacente S-2-1’, cioè quello che si forma prolungando la congiungente 1-2 dalla parte opposta, il che, come detto ci porta completamente fuori strada.

Naturalmente, pur adottando il teorema dei seni, c’è sempre la possibilità di verificare se abbiamo trovato l’angolo interno o il suo supplementare, ma questo ci costringerebbe ad un’operazione supplettiva e potenzialmente fallace. Per evitare questo possibile errore, conviene invece utilizzare il teorema dei coseni (detto anche di Carnot)(5). Il vantaggio di questo calcolo è che riusciamo a trovare immediatamente l’angolo interno anziche quello supplementare esterno, grazie al fatto che il coseno passa da positivo (per l’angolo acuto che ci interessa) a negativo (per l’angolo supplementare), come evidenziato dal cerchio trigonometrico di Figura 5.

Bene, risolto anche quest’ultimo punto, possiamo finalmente scrivere l’intero algoritmo per calcolare le coordinate della stazione libera a partire dai due punti noti, senza timore di trovare quelle della stazione che sta dall’altra parte della congiungente i punti stessi. Sulla base di quanto finora analizzato e con riferimento alla Figura 2, questi sono i passaggi da svolgere:

  1. Prima di tutto calcoliamo l’angolo interno del triangolo sul vertice della stazione. Nel fare questo, determiniamo anche il verso, orario o antiorario, nel quale si deve ruotare il lato d1 per portarlo a sovrapporsi al lato d2. Quest’ultima determinazione ci serve per sapere quale aritmetica usare nel calcolare successivamente gli azimut dai punti 1 e 2 alla stazione. Tutto questo comporta i seguenti passi:

Calcoliamo provvisoriamente l’angolo interno γ facendo semplicemente:

\[ γ = ϑ_2\hspace{1mm}-\hspace{1mm}ϑ_1 \]

Controlliamo se il valore assoluto di γ è minore o maggiore di 200g e, a seconda dell’esito, ci comportiamo come segue.

Se:

\[ γ < 200^g \]

Significa che l’orientamento della stazione è esterno al triangolo e che l’angolo γ è quello interno. Se il valore è positivo, siamo già a posto; se invece è negativo, basta assumere il valore assoluto (cioè non considerare il segno meno). Dopodiché verifichiamo qual è il maggiore dei due angoli letti dalla stazione ai punti 1 e 2 e, a seconda del responso, definiamo se il verso di rotazione è orario o antiorario, come da formule [1]:

\[ ϑ_2 > ϑ_1 = orario\hspace{20mm}ϑ_2 < ϑ_1 = antiorario \]

Se invece:

\[ γ > 200^g \]

Significa che l’orientamento della stazione è interno al triangolo e che l’angolo γ è quello esterno. Calcoliamo quindi l’angolo interno facendo 400 – γ (con γ inteso sempre in valore assoluto). Dopodiché verifichiamo anche in questo caso qual è il maggiore dei due angoli letti dalla stazione ai punti 1 e 2 e, in base a ciò, definiamo il verso di rotazione orario o antiorario, come da formule [2]:

\[ ϑ_2 < ϑ_1 = orario\hspace{20mm}ϑ_2 > ϑ_1 = antiorario \]
  1. Calcolato l’angolo interno del triangolo sul vertice della stazione e stabilito il verso orario o antiorario, possiamo procedere al calcolo degli ulteriori elementi che ci servono. Calcoliamo dapprima la distanza tra i punti 1 e 2 derivante dalle letture celerimetriche prese dalla stazione stessa. Questo dato si ottiene ancora una volta utilizzando il teorema di Carnot(5):
\[\overline{12}=\sqrt{d_1^2+d_2^2-2\hspace{2mm}d_1\hspace{2mm}d_2\hspace{2mm}cos⁡γ} \]
  1. Come già accennato, questo risultato ci permette un primo controllo sulla bontà delle rilevazioni. Possiamo confrontare la distanza di cui sopra con quella che deriva dalle coordinate (pre-calcolate) dei due punti 1 e 2, calcolata semplicemente con il teorema di Pitagora. È evidente che se le due distanze appena calcolate dovessero differire di una quantità che supera la tolleranza imposta, dobbiamo fermarci e indagare sulla causa del problema.
\[\overline{12}=\sqrt{(x_2-x_1 )^2+(y_2-y_1 )^2} \]
  1. Troviamo ora i due angoli interni α e β del triangolo sui punti 1 e 2 con il teorema dei coseni come da formule che seguono. Come per l’angolo γ sulla stazione, anche in questo caso potrebbe capitare che, anziché aver trovato l’angolo interno al triangolo, abbiamo trovato l’angolo esterno. Basta però verificare se il valore ottenuto di α e β è minore o maggiore di 200g. Se minore, è già l’angolo interno; se invece è maggiore, significa che è l’angolo esterno, nel qual caso basta sottrarlo (in valore assoluto) a 400g per trovare quello interno.
\[α=arcocoseno\hspace{2mm}\frac{d_1^2+\overline{12}^2-d_2^2}{2\hspace{2mm}d_1\hspace{2mm}\overline{12}} \]
\[β=arcocoseno\hspace{2mm}\frac{d_2^2+\overline{12}^2-d_1^2}{2\hspace{2mm}d_1\hspace{2mm}\overline{12}} \]
  1. Calcoliamo ora l’azimut tra i punti 1 e 2 in funzione delle loro coordinate. Ricordo che i due punti di aggancio della stazione libera devono essere determinabili dalle rilevazioni precedenti (dal rilievo GPS o dalle precedenti stazioni TS). L’azimut ϑ si calcola trovando l’arcotangente dell’angolo φ formato dai delta di coordinate, modificandone poi il valore in funzione del quadrante come qui illustrato:
\[φ=arcotangente\hspace{2mm}\frac{x_P-x_O}{y_P-y_O} \]

Figura 7 – Il calcolo dell’azimut a partire dall’arcotangente dell’angolo al centro in funzione del quadrante relativo ai due punti.

Naturalmente con queste formule ci basta calcolare soltanto uno dei due azimut, ad esempio ϑ12, mentre l’altro si ricava direttamente dal primo con le note formule:

\[ se\hspace{2mm}ϑ_{12}<200^g→ϑ_{21}=ϑ_{12}+200^g \]
\[ se\hspace{2mm}ϑ_{12}>200^g→ϑ_{21}=ϑ_{12}-200^g \]
  1. A questo punto calcoliamo gli azimut dai punti 1 e 2 alla stazione. E qui entra in gioco il verso orario o antiorario che abbiamo determinato al passo 1, secondo punto.
\[ α→se\hspace{2mm}orario→ϑ_{1S}=ϑ_{12}+α\hspace{15mm}se\hspace{2mm}antiorario→ϑ_{1S}=ϑ_{12}-α \]
\[ β→se\hspace{2mm}orario→ϑ_{2S}=ϑ_{21}-β\hspace{15mm}se\hspace{2mm}antiorario→ϑ_{2S}=ϑ_{21}+β \]

Come sempre, quando in topografia si sommano e si sottraggono due angoli, bisogna controllare che il risultato sia nel range 0-400g. Quindi, qualora dalla somma risultasse un valore maggiore di 400g, vanno sottratti 400g, mentre se dalla differenza risultasse un valore negativo, vanno sommati 400g.

  1. Siamo finalmente arrivati al punto di poter calcolare le coordinate della stazione libera a partire da entrambi i punti 1 e 2:
\[ X_{S1}=X_1+d_1\hspace{2mm}sinϑ_{1S}\hspace{15mm}Y_{S1}=Y_1+d_1\hspace{2mm}cosϑ_{1S} \]
\[ X_{S2}=X_2+d_2\hspace{2mm}sinϑ_{2S}\hspace{15mm}Y_{S2}=Y_2+d_2\hspace{2mm}cosϑ_{2S} \]

Ancora una volta, il fatto di avere un doppio risultato ci permette di valutare la bontà del rilievo, nel senso che, se le due coppie di coordinate differiscono in misura eccessiva (oltre la tolleranza imposta), dovremo riverificare il tutto, se non addirittura rifare il rilievo. Viceversa, se la differenza rientra nella norma, le coordinate della stazione vanno determinate dalla semplice media aritmetica dei valori ottenuti:

\[ X_S=\frac{X_{S1}+X_{S2}}{2}\hspace{15mm}Y_S=\frac{Y_{S1}+Y_{S2}}{2} \]

Se invece, adottando la buona tecnica topografica, la stazione libera fosse stata agganciata a più di due punti, ad esempio tre come nei casi illustrati  nell’articolo Pregeo, mancato collegamento di stazioni libere, si possono ottenere gli sqm dai quali desumere anche le eventuali rilevazioni difettose.

  1. Aver trovato le coordinate della stazione libera non conclude il lavoro. Dobbiamo infatti considerare che la stazione stessa ha un suo orientamento di campagna (che può essere casuale) mentre invece noi dobbiamo orientarla secondo il rilievo che ha generato i punti 1 e 2 di aggancio, vale a dire l’orientamento della base GPS o della prima stazione TS. Quest’ultima operazione è tuttavia abbastanza semplice. Disponendo delle coordinate della stazione, troviamo gli azimut dalla stessa ai due punti 1 e 2, trasformando gli azimut reciproci trovati al passo 6 mediante l’usuale somma o sottrazione di 200g come abbiamo visto alla fine del passo 5:
\[ se\hspace{2mm}ϑ_{1S}<200^g→ϑ_{S1}=ϑ_{1S}+200^g\hspace{15mm}se\hspace{2mm}ϑ_{1S}>200^g→ϑ_{S1}=ϑ_{1S}-200^g \]
\[ se\hspace{2mm}ϑ_{2S}<200^g→ϑ_{S2}=ϑ_{2S}+200^g\hspace{15mm}se\hspace{2mm}ϑ_{2S}>200^g→ϑ_{S2}=ϑ_{2S}-200^g \]

Con gli azimut stazione-punto diventa facile calcolare la correzione angolare della stazione sottraendo l’azimut stesso dall’angolo misurato in campagna, come si può vedere qui:

Figura 8 La correzione angolare per orientare la stazione libera nel sistema di riferimento del rilievo: dall’angolo letto in campagna si sottrae l’azimut calcolato ai punti di aggancio.

\[ c_1=ϑ_1-ϑ_{S1}\hspace{20mm}c_2=ϑ_2-ϑ_{S2} \]

In questo caso, se la differenza risulta negativa, il risultato effettivo è pari al valore assoluto, cioè all’angolo risultante reso positivo. Infine, dopo aver appurato se i due valori c1 e c2 differiscono di una quantità inferiore alla tolleranza, la correzione definitiva si trova come media aritmetica (ma vale sempre il concetto della ridondanza che, con tre o più punti di aggancio, permette di calcolare lo sqm):

\[ correzione\hspace{1mm}angolare=\frac{c_1+c_2}{2} \]
  1. Abbiamo fin qui concluso il calcolo della parte planimetrica, ma ovviamente nel fare stazione libera diventa importante mantenere anche la congruità altimetrica determinando la quota della stazione. Questo risultato si ottiene a partire dalla quota dei due punti di aggancio e dalle rispettive letture rilevate dalla stazione stessa. Per trovare la formula di calcolo facciamo riferimento agli schemi di Figura 9 qui sotto, quello sopra con il punto P più in alto della stazione S, quello sotto con il punto P più in basso di S.

Figura 9: Lo schema per il calcolo della quota della stazione libera S a partire da quella del punto osservato P, nei due casi: con il punto in alto (sopra) e con il punto in basso (sotto). Legenda:
hs = altezza strumentale;
hp = altezza prisma;
disls = dislivello strumentale;
dislt = dislivello a terra.

La quota della stazione Zs, a partire da quella del punto osservato Zp, si ottiene facendo:

\[ Z_S=Z_P+h_P-disl_S-h_s \]

A prima vista, questa formula sembra essere corretta solo per lo schema con il punto in alto, mentre per il punto in basso sembrerebbe essere:

\[ Z_S=Z_P+h_P+dislS-h_s \]

Cioè con il dislivello strumentale (disls) cambiato di segno. In realtà si tratta per l’appunto solo di una questione di segni, perché in quest’ultimo caso (punto più in basso della stazione) il dislivello strumentale è negativo per cui la formula torna ad essere quella vista sopra:

\[ Z_S=Z_P+h_P+(-disl_S)-h_s=Z_P+h_P-disl_S-h_s \]

Fine dell’algoritmo.

Come avrete notato, non si tratta di un calcolo semplice, anzi, è piuttosto complesso, soprattutto nella parte che riguarda la determinazione della posizione della stazione tra le due possibili. Tuttavia è un calcolo rigoroso e auto-controllato che non lascia adito ad incertezze che possano inficiare la precisione del rilievo. Dico questo riallacciandomi per un attimo all’articolo Pregeo, mancato collegamento di stazioni libere, dove abbiamo visto che Pregeo non contempla questo schema. Qualche collega sui forum dove avevo postato quell’articolo sosteneva infatti che tale mancanza di Pregeo era motivata invece proprio da una presunta incertezza della stazione libera.

A conclusione di questa lunga analisi, per quelli di voi che hanno avuto la costanza di seguirla fin qui, trovo utile riportare un esempio numerico che possa far capire meglio i passaggi dell’algoritmo appena descritto. Lo farò sul rilievo, come al solito volutamente minimale, di Figura 10 qui sotto. Dal GPS si sono rilevati i punti 1001 e 1002 i quali sono stati poi osservati per angolo e distanza dalla stazione libera 200, con le letture riportate nella tabella azzurra.

Figura 10 Il rilievo di esempio sul quale sarà sviluppato il calcolo numerico.

Ripercorriamo i passaggi dell’algoritmo descritto sopra.

Calcoliamo l’angolo interno del triangolo sul vertice della stazione:

\[ γ=ϑ_{1002}-ϑ_{1001}=39.7669-316.0958=-276.3289 \]

Poiché il valore assoluto è maggiore di 200g, significa che l’orientamento della stazione è interno al triangolo e che l’angolo γ è quello esterno. Per trovare quello interno dobbiamo rapportarlo a 400g:

\[ γ=400-276.3289=123.6711 \]

Stabiliamo il verso orario o antiorario per portare il lato 200-1001 sopra il lato 200-1002:

\[ ϑ_{1002}< ϑ_{1001}→39.7669<316.0958=orario \]

Calcoliamo con il teorema di Carnot la distanza 1001-1002 derivante dalle letture celerimetriche prese dalla stazione:

\[ d_{1001-1002}=\sqrt{d_{1001}^2+d_{1002}^2-2\hspace{2mm}d_{1001}\hspace{2mm}d_{1002}\hspace{2mm}cos⁡γ} \]
\[ d_{1001-1002}=\sqrt{122.781^2+134.873-2∙122.781∙134.873∙cos⁡(123.6711) } \]
\[ d_{1001-1002}=212.835 \]

Calcoliamo ora con in teorema di Pitagora la stessa distanza dalle coordinate dei due punti 1001 e 1002 derivanti dal calcolo del GPS (vedi tabella bianca in basso di Figura 10):

\[ d_{1001-1002}=\sqrt{(x_{1002}-x_{1001})^2+(y_{1002}-y_{1001})^2} \]
\[ d_{1001-1002}=\sqrt{[219.822-71.579]^2+[54.406-(-98.303)]^2} \]
\[ d_{1001-1002}=212.828 \]

Questa distanza differisce da quella derivante dalle letture celerimetriche (calcolata sopra con il teorema di Carnot) di:

\[ 212.835-212.828=0.007 \]

Trattandosi di un valore che denota un’ottima precisione, determiniamo la distanza mediata:

\[ d_{1001-1002}=\frac{212.835+212.828}{2}=212.832 \]

Troviamo i due angoli interni α e β del triangolo sui punti 1001 e 1002 con il teorema dei coseni:

\[ α=arcocoseno\hspace{1mm}\frac{d_{1001}^2+d_{1001-1002}^2-d_{1002}^2}{2\hspace{3mm}d_{1001}\hspace{3mm}d_{1001-1002}} \]
\[ α=arcocoseno\hspace{1mm}\frac{122.781^2+212.832^2-134.873^2}{2 ∙ 122.781 ∙ 134.873}=40.2071 \]
\[ β=arcocoseno\hspace{1mm}\frac{d_{1002}^2+d_{1001-1002}^2-d_{1001}^2)}{2\hspace{3mm}d_{1002}\hspace{3mm}d_{1001-1002}} \]
\[ β=arcocoseno\hspace{1mm}\frac{134.873^2+212.832^2-122.781^2}{2 ∙ 134.873 ∙ 212.832}=36.1248 \]

Calcoliamo l’azimut tra i punti 1001 e 1002 in funzione delle loro coordinate:

\[ φ=arcotangente\hspace{1mm}\frac{219.822-71.579}{54.406-(-98.303)}=49.0553 \]

Verificato che siamo nel primo quadrante (i delta X-Y delle coordinate sono entrambi positivi), questo angolo è già l’azimut tra i due punti.

\[ ϑ_{1001-1002}=49.0553 \]

Calcoliamo l’azimut reciproco sommando 200g:

\[ ϑ_{1002-1001}=49.0553+200=249.0553 \]

Calcoliamo gli azimut dai punti 1001 e 1002 alla stazione 200 tenendo conto del verso orario sopra determinato:

\[ orario→ϑ_{1001-200}=ϑ_{1001-1002}+α=\hspace{2mm}49.0553+40.2071=89.2624 \]
\[ orario→ϑ_{1002-200}=ϑ_{1002-1001}-β=\hspace{2mm}249.0553-36.1248=212.9305 \]

Calcoliamo le coordinate della stazione 200 a partire da entrambi i punti 1001 e 1002:

\[ X_{200}=X_{1001}+d_{200-1001}\hspace{3mm}sinϑ_{1001-200}\]
\[ X_{200}=71.579+122.781∙sin⁡(89.2624)=192.618 \]
\[ Y_{200}=Y_{1001}+d_{200-1001}\hspace{3mm}cosϑ_{1001-200} \]
\[ Y_{200}=-98.303+122.781∙cos(⁡89.2624)=-77.692 \]
\[ X_{200}=X_{1002}+d_{200-1002}\hspace{3mm}sinϑ_{1002-200} \]
\[ X_{200}=219.822+134.873∙sin(⁡212.9305)=192.616 \]
\[ Y_{200}=Y_{1002}+d_{200-1002}\hspace{3mm}cosϑ_{1002-200} \]
\[ Y_{200}=54.406+134.873∙cos(⁡212.9305)=-77.695 \]

Considerata la differenza ampiamente in tolleranza, calcoliamo le coordinate mediate definitive:

\[ X_{200}=\frac{192.618+192.616}{2}=192.617 \]
\[ Y_{200}=\frac{-77.692+(-77.695)}{2}=-77.694 \]

Troviamo gli azimut dalla stazione ai due punti 1001 e 1002, trasformando gli azimut reciproci trovati prima:

\[ ϑ_{1001-200}=89.2624<200^g→ϑ_{200-1001}=89.2624+200=289.2624 \]
\[ ϑ_{1002-200}=212.9305>200→ϑ_{200-1002}=212.9305-200=12.9305 \]

Calcoliamo infine la correzione angolare della stazione per ciascuno dei due punti sottraendo l’azimut stesso dall’angolo misurato in campagna e la correzione definitiva dalla media dei due valori trovati:

\[ c_1=ϑ_{1001}-ϑ_{200-1001}=316.0958-289.2624=26.8342 \]
\[ c_2=ϑ_{1002}-ϑ_{200-1002}=39.7669-12.9305=26.8364 \]
\[ correzione\hspace{1mm}angolare=\frac{26.8342+26.8364}{2}=26.8348 \]

Infine non ci resta che calcolare la quota della stazione:

\[ Z_{200}=Z_{1001}+h_{P-1001}-disl_{S-1001}-h_{s-200} \]
\[ Z_{200}=2.093+1.528-(-11.830)-1.689=13.762 \]
\[ Z_{200}=Z_{1002}+h_{P-1002}-disl_{S-1002}-h_{s-200} \]
\[ Z_{200}=-4.719+1.528-(-18.642)-1.689=13.762 \]

Il valore risultante dai due punti coincide, non ci resta che correggerlo dell’errore di sfericità terrestre  con le formule descritte all’articolo I rischi nell’utilizzo di basi GPS permanenti. Calcoliamo pertanto la distanza piana della stazione 200 dal punto di emanazione del rilievo, cioè la base GPS 1000:

\[ d_{1000-200}=\sqrt{(x_{200}-x_{1000})^2+(y_{200}-y_{1000})^2} \]
\[ d_{1000-200}=\sqrt{[192.617-0.000]^2+[-77.694-0.000]^2} \]
\[ d_{1001-1002}=207.696 \]

Determiniamo l’errore di sfericità terrestre con le formule suddette e lo applichiamo alla quota piana:

\[ x=\frac{d_{1000-200}^2}{2\hspace{2mm}R}=\frac{207.696^2}{2∙6377000}=0.003 \]
\[ Z_{200}=13.762+0.003=13.765 \]

Note:

(1) In teoria potremmo limitarci a considerare solo uno dei due punti noti, l’1 o il 2, ma questo sarebbe topograficamente scorretto perché renderebbe il calcolo isodeterminato con la concreta eventualità di poter cadere in un errore grossolano non rilevabile.

(2) Mi riferisco ovviamente al comando presente in AutoCAD o nei CAD compatibili, come il GstarCAD abbinato al software Geocat.

(3) Qui io ho adottato la convenzione topografica che avevo imparato a scuola di geometra, cioè con gli azimut che si misurano dall’asse superiore delle ordinate (ore 12) e in senso orario. In realtà, ho poi scoperto che in matematica, e a livello internazionale, si fa esattamente il contrario: gli angoli si misurano dall’asse delle ascisse di destra (ore 15) e in senso antiorario. Sono passati decenni prima che qualcuno mi spiegasse finalmente il motivo di questa diversa convenzione.

(4) Ricordo che il teorema dei seni dice che i lati di un triangolo sono tra loro proporzionali ai rispettivi seni dell’angolo opposto. Con riferimento alla Figura 2, significa che:

\[ \frac{\overline{12}}{sin⁡γ}=\frac{\overline{1S}}{sin⁡β}=\frac{\overline{2S}}{sin⁡α} \]

(5) “Teorema dei coseni” è il nome comunemente utilizzato a livello internazionale, mentre qui in Italia è più conosciuto con la denominazione classica di “Teorema di Carnot”. Con riferimento alla Figura 2, l’enunciato del teorema è, per l’angolo α:

\[ d_2^2=d_1^2+\overline{12}^2-2\hspace{3mm}d_1\hspace{3mm}\overline{12}\hspace{3mm}cos⁡α \]

da cui si ricava:

\[ α=arcocoseno\hspace{1mm}\frac{d_1^2+\overline{12}^2-d_2^2}{2\hspace{3mm}d_1\hspace{3mm}\overline{12}} \]

%d blogger hanno fatto clic su Mi Piace per questo: