calcolo line of sight

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

calcolo line of sight

Stefano Salvador
Ciao a tutti,

ho un problema un po' particolare: devo fare un'analisi di visibilità
di un'antenna posta in una certa posizione, ma invece di calcolare
dove vedo l'antenna e dove no, devo calcolare a che altezza devo stare
per poterla vedere. In pratica ho un'antenna che serve per ricevere un
segnale da un elicottero e devo calcolare la minima altitudine a cui
deve stare l'elicottero per vedere l'antenna per una certa porzione di
territorio. ovviamente del suddetto territorio possiedo il DTM.

Penso che GRASS con qualche combinazione di r.los e r.mapcalc sia in
grado di risolvere il problema ma non riesco ancora a trovare il
bandolo della matassa.

Ogni idea o suggerimento è ben accolto.

Ciao,

Stefano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Antonio Falciano
Il 08/04/2010 11.06, Stefano Salvador ha scritto:

> Ciao a tutti,
>
> ho un problema un po' particolare: devo fare un'analisi di visibilità
> di un'antenna posta in una certa posizione, ma invece di calcolare
> dove vedo l'antenna e dove no, devo calcolare a che altezza devo stare
> per poterla vedere. In pratica ho un'antenna che serve per ricevere un
> segnale da un elicottero e devo calcolare la minima altitudine a cui
> deve stare l'elicottero per vedere l'antenna per una certa porzione di
> territorio. ovviamente del suddetto territorio possiedo il DTM.
>
> Penso che GRASS con qualche combinazione di r.los e r.mapcalc sia in
> grado di risolvere il problema ma non riesco ancora a trovare il
> bandolo della matassa.
>
> Ogni idea o suggerimento è ben accolto.

1) studiati bene l'help di r.los [1];
2) guardati un po' Dodd [2] che ha fatto qualcosa di molto simile, anche
se con software proprietario;
3) dovresti poi tenere conto di un opportuno coefficiente di rifrazione
atmosferica (al posto del classico 0.13 valido per le radiazioni
luminose) in funzione della frequenza del segnale dell'antenna, poiche'
questo puo' incidere significativamente nella tua analisi di visibilita'.

ciao
Antonio

[1] http://www.grass.itc.it/grass62/manuals/html62_user/r.los.html
[2]
http://scholar.lib.vt.edu/theses/available/etd-09202001-155212/unrestricted/1etd_dodd_0911.pdf

--
Antonio Falciano
http://www.linkedin.com/in/antoniofalciano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Patti Giuseppe
Io semplicemente invertirei il problema: metti l'osservatore nel punto
in cui c'è l'antenna e fai girare r.los. Per forza di cose tutti i punti
visibili dall'antenna sono anche i punti dai quali l'antenna può essere
vista (la luce viaggia di massima in linea retta!), a quel punto varia
l'altezza dell'osservatore fino a raggiungere il risultato che desideri
(in r.los devi specificare anche l'altezza del punto di osservazione
rispetto al modello di terreno che stai usando).



Antonio Falciano ha scritto:

> Il 08/04/2010 11.06, Stefano Salvador ha scritto:
>> Ciao a tutti,
>>
>> ho un problema un po' particolare: devo fare un'analisi di visibilità
>> di un'antenna posta in una certa posizione, ma invece di calcolare
>> dove vedo l'antenna e dove no, devo calcolare a che altezza devo stare
>> per poterla vedere. In pratica ho un'antenna che serve per ricevere un
>> segnale da un elicottero e devo calcolare la minima altitudine a cui
>> deve stare l'elicottero per vedere l'antenna per una certa porzione di
>> territorio. ovviamente del suddetto territorio possiedo il DTM.
>>
>> Penso che GRASS con qualche combinazione di r.los e r.mapcalc sia in
>> grado di risolvere il problema ma non riesco ancora a trovare il
>> bandolo della matassa.
>>
>> Ogni idea o suggerimento è ben accolto.
>
> 1) studiati bene l'help di r.los [1];
> 2) guardati un po' Dodd [2] che ha fatto qualcosa di molto simile, anche
> se con software proprietario;
> 3) dovresti poi tenere conto di un opportuno coefficiente di rifrazione
> atmosferica (al posto del classico 0.13 valido per le radiazioni
> luminose) in funzione della frequenza del segnale dell'antenna, poiche'
> questo puo' incidere significativamente nella tua analisi di visibilita'.
>
> ciao
> Antonio
>
> [1] http://www.grass.itc.it/grass62/manuals/html62_user/r.los.html
> [2]
> http://scholar.lib.vt.edu/theses/available/etd-09202001-155212/unrestricted/1etd_dodd_0911.pdf 
>
>

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

giohappy
Comunque la giri mi sa che è necessario un processo iterativo.
Per ogni cell che non sono visibili dall'antenna/non vedono l'antenna [CELLA_NV], dovresti trovare la quota della cella più alta [CELLA_MAX] tra CELL_NV e l'antenna, lungo la LOS, e quindi interpolare, usando l'angolo in CELL_MAX e la distanza tra CELL_NV e antenna.
A me non viene in mente un modo non iterativo. Usando i comandi esistenti uno potrebbe fare:

1 - r.los
2 - con r.cost calcolarsi le ditanze tra antenna e le celle della griglia (ponendo a 1 il costo dei pixel).
2 - per le celle non visibili calcolare il profilo lungo la coniungente tra antenna e le celle stesse con r.profile
3 - prendere il valore più alto di r.profile e quindi, con r.mapcalc e il risultato del punto 2, farsi il calcoletto trigonometrico per interpolare.

l'ho buttata lì, su due piedi, probabilmente ci sarà una strada più semplice o elegante...

giovanni

Il giorno 08 aprile 2010 12.17, Patti Giuseppe <[hidden email]> ha scritto:
Io semplicemente invertirei il problema: metti l'osservatore nel punto in cui c'è l'antenna e fai girare r.los. Per forza di cose tutti i punti visibili dall'antenna sono anche i punti dai quali l'antenna può essere vista (la luce viaggia di massima in linea retta!), a quel punto varia l'altezza dell'osservatore fino a raggiungere il risultato che desideri (in r.los devi specificare anche l'altezza del punto di osservazione rispetto al modello di terreno che stai usando).



Antonio Falciano ha scritto:

Il 08/04/2010 11.06, Stefano Salvador ha scritto:
Ciao a tutti,

ho un problema un po' particolare: devo fare un'analisi di visibilità
di un'antenna posta in una certa posizione, ma invece di calcolare
dove vedo l'antenna e dove no, devo calcolare a che altezza devo stare
per poterla vedere. In pratica ho un'antenna che serve per ricevere un
segnale da un elicottero e devo calcolare la minima altitudine a cui
deve stare l'elicottero per vedere l'antenna per una certa porzione di
territorio. ovviamente del suddetto territorio possiedo il DTM.

Penso che GRASS con qualche combinazione di r.los e r.mapcalc sia in
grado di risolvere il problema ma non riesco ancora a trovare il
bandolo della matassa.

Ogni idea o suggerimento è ben accolto.

1) studiati bene l'help di r.los [1];
2) guardati un po' Dodd [2] che ha fatto qualcosa di molto simile, anche
se con software proprietario;
3) dovresti poi tenere conto di un opportuno coefficiente di rifrazione
atmosferica (al posto del classico 0.13 valido per le radiazioni
luminose) in funzione della frequenza del segnale dell'antenna, poiche'
questo puo' incidere significativamente nella tua analisi di visibilita'.

ciao
Antonio

[1] http://www.grass.itc.it/grass62/manuals/html62_user/r.los.html
[2] http://scholar.lib.vt.edu/theses/available/etd-09202001-155212/unrestricted/1etd_dodd_0911.pdf


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Andrea Peri
In reply to this post by Stefano Salvador
La linea di visibilita' non e' applicabile a un onda elettromagnetica a meno che non viaggi 
alla lunghezza d'onda della luce, Se parli di una antenna a radio-frequenza devi tenere conto dell'ellissoide di Fresnel.
E il margine puo' essere anche rilevante.


http://www.fab-corp.com/pages.php?pageid=2

A questo link trovi una immagine molto ben fatta che esemplifica il problema dell'ellissoide di Fresnel.

Ovvero in base alla lunghezza d'onda deve essere un margine piu' o meno ampio rispetto all'ostacolo.

Altrimenti, succede una cosa abbastanza incomprensibile, ovvero si vede l'antenna , ma il segnale non viene ricevuto o viene ricevuto male.

Notare che se l'ostacolo e' a meta' tra emettitore e ricevutore, la zona di Fresnel (l'ellissoide) e' piu' ampia e quindi l'area libera da ostacoli deve essere piu' ampia.

Andrea.


>ho un problema un po' particolare: devo fare un'analisi di visibilità
>di un'antenna posta in una certa posizione, ma invece di calcolare
>dove vedo l'antenna e dove no, devo calcolare a che altezza devo stare
>per poterla vedere. In pratica ho un'antenna che serve per ricevere un
>segnale da un elicottero e devo calcolare la minima altitudine a cui
>deve stare l'elicottero per vedere l'antenna per una certa porzione di
>territorio. ovviamente del suddetto territorio possiedo il DTM.
>
>Penso che GRASS con qualche combinazione di r.los e r.mapcalc sia in
>grado di risolvere il problema ma non riesco ancora a trovare il
>bandolo della matassa.
>
>Ogni idea o suggerimento è ben accolto.


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Andrea Peri
In reply to this post by Stefano Salvador
Aggiungo altra informazione (spero utile) alla precedente email.

Non avevo letto che l'emettitore/ricevitore e' su un elicottero.

Questo ti complica il calcolo, perche'
Se ricordo bene (sono ricordi universitari di molti anni fa' e sono un po' arrugginito),
l'ampiezza dell'ellissoide di fresnel dipende da vari parametri, tra cui la frequenza dell'onda elettromagnetica.

Ovvero piu' e' alta (piu' va' verso il visivo, ovvero la luce) e piu' Fresnel e' stretto.

Pero' questo implica che sia molto direzionale, ovvero diviene difficile per l'elicottero centrare il fascio dell'antenna o viceversa.

Allora devi abbassare la frequenza, questo rende piu' facile centrare il fascio, ma di conseguenza questo allarga Fresnel, e di conseguenza
l'elicottero deve alzarsi per escludere dall'ellissoide di Fresnel eventuali ostacoli.

http://it.wikipedia.org/wiki/Zona_di_Fresnel

Dalla formula

b = 17.32 * (sqr(d / (4*f)))

vedi che al diminuire della frequenza (f) la prima zona di fresnel aumenta nel suo raggio (b).
E nella zona coperta dall'ellissoide non devono esserci ostacoli se non si vuole interferenze.

Spero di aver ricordato bene. :)


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Stefano Salvador
Grazie a tutti per le risposte.

Per quanto riguarda rifrazioni e altri effetti elettromagnitici almeno per ora
posso ignorarli, l'apparato sull'elicottero e quello a terra sono studiati
appositamente per  "parlarsi" tenendo conto di tutto ciò.

In questo contesto io devo solo produrre un raster che per ogni cella mi dice
quanto devo essere alto per vedere l'antenna in visibilità ottica.

Purtroppo con GRASS non ci riesco perché posso impostare solo l'altezza
dell'osservatore (nel mio caso l'antenna) e non dell'osservato (l'elicottero),
anche invertendo gli attori il problema rimane.


Ciao,

Stefano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Markus Neteler
2010/4/8 Stefano Salvador <[hidden email]>:
...
> Purtroppo con GRASS non ci riesco perché posso impostare solo l'altezza
> dell'osservatore (nel mio caso l'antenna) e non dell'osservato (l'elicottero),
> anche invertendo gli attori il problema rimane.

Potresti semplicemente alzare il DTM nella cella in quale sta l'elicottero...

ciao
Markus

PS: rifrazione di luce dovrebbe esserci in r.los (-c Consider earth
curvature (current ellipsoid))
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Stefano Salvador
> Potresti semplicemente alzare il DTM nella cella in quale sta
> l'elicottero...

ci ho pensato, ma l'elicottero potrebbe stare dappertutto, quindi per ogni
punto del DTM dovrei fare un'analisi r.los e ripetere il tutto finché non c'è
visibilità ... un po' noiso.

in realtà sono partito ardimentoso e sto dando un'occhiata al codice di r.los
per vedere quanto è difficile aggiungere l'altezza dell'osservato ... vi terrò
aggiornati.


Ciao,

Stefano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Antonio Falciano
Il 08/04/2010 22.15, Stefano Salvador ha scritto:

>> Potresti semplicemente alzare il DTM nella cella in quale sta
>> l'elicottero...
>
> ci ho pensato, ma l'elicottero potrebbe stare dappertutto, quindi per ogni
> punto del DTM dovrei fare un'analisi r.los e ripetere il tutto finché non c'è
> visibilità ... un po' noiso.
>
> in realtà sono partito ardimentoso e sto dando un'occhiata al codice di r.los
> per vedere quanto è difficile aggiungere l'altezza dell'osservato ... vi terrò
> aggiornati.

...e perche' non "alzare" il DTM in tutte le celle (eccetto ovviamente
quella contenente la torre, già coperta da obs_elev)? Se N sono i valori
discreti di altezza dell'elicottero rispetto al suolo da esaminare,
dovresti elaborare esattamente N viewshed. Basta un ciclo su N valori
che utilizzi r.los ed r.mapcalc per "correggere" il DTM.

--
Antonio Falciano
http://www.linkedin.com/in/antoniofalciano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

Stefano Salvador
In reply to this post by giohappy
> ...e perche' non "alzare" il DTM in tutte le celle (eccetto ovviamente
> quella contenente la torre, già coperta da obs_elev)?

perché se alzo tutti alzo anche gli ostacoli, devo alzare solo la
cella dove sta l'osservato. sarebbe come quando allo stadio si alzano
tutti in piedi, alla fine si vede lo stesso che se fossero tutti
seduti.

> Comunque la giri mi sa che è necessario un processo iterativo.

questo è pacifico, io volevo iterare su tutte le altezze possibili (a
step discreti ovviamente) dell'elicotero sulle celle che risultano
invisibili fino a quando non c'è più nessuna cella invisibile.

> Per ogni cell che non sono visibili dall'antenna/non vedono l'antenna
> [CELLA_NV], dovresti trovare la quota della cella più alta [CELLA_MAX] tra
> CELL_NV e l'antenna, lungo la LOS, e quindi interpolare, usando l'angolo in
> CELL_MAX e la distanza tra CELL_NV e antenna.

se riesco a implementare questo algoritmo direttamente nel codice di
r.los non mi serve neanche il processo iterativo, mi basta un po' di
trigonometria.


Grazie a tutti,

Stefano
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010
Reply | Threaded
Open this post in threaded view
|

Re: calcolo line of sight

giohappy
> se riesco a implementare questo algoritmo direttamente nel codice di
> r.los non mi serve neanche il processo iterativo, mi basta un po' di
> trigonometria.

Certo, non ho mai guardato il codice di r.los, però immagino che ci
siano già tutti gli elementi per implementarlo direttamente lì.

giovanni
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.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.
440 iscritti al 15.3.2010