Etichettare le curve di una strada con il raggio

Un amico mi scrive il seguente messaggio:

La risposta al quesito passa dalla determinazione del valore del raggio dell’arco a partire dagli elementi misurabili o determinabili tramite espressione: nel nostro caso abbiamo l’arco, ma possiamo calcolare la corda e la saetta; ma la vera domanda è: come calcolo il raggio a partire dalla corda e dalla saetta?
Basta utilizzare il teorema di Pitagora, vedi sotto:

Nota la formula, come tradurla in espressione per QGIS?

  1. la lunghezza della corda (c = AB) la calcolo usando la funzione dedicata straight_distance_2d( $geometry);
  2. la lunghezza della saetta (s = HC) la calcolo come distanza tra due punti, il primo è il punto H, il secondo è il più vicino all’arco partendo dal punto H, quindi il punto C; per determinare questo secondo punto (C), basta utilizzare la funzione closest_point (), invece, per determinare il punto H, basta calcolare il centroide della corda precedentemente calcolata. Sotto l’espressione!!!
with_variable('s',
        with_variable('ptoH', 
        centroid(make_line( start_point($geometry), end_point($geometry))),
        distance(closest_point($geometry,@ptoH),@ptoH)),
                   0.5*(((straight_distance_2d( $geometry))^2 /(4*@s))+@s)
)

NOTE FINALI: Sarebbe bello poter estrarre direttamente il valore del raggio di un arco circolare come caratteristica della geometria, come per il centroide, start_point ecc…, ma siccome manca, lo ricaviamo!!! w le espressioni di QGIS.


RIFERIMENTI


I MIEI CANALI – ISCRIVITI


Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!

SE IL POST/BLOG TI È STATO UTILE CONTRIBUISCI A MANTENERLO AGGIORNATO PAYPAL


Pubblicità

3 pensieri su “Etichettare le curve di una strada con il raggio

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.