[Gfoss] calcolo line of sight

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

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

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

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 <geognu@infinito.it> 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
Gfoss@faunalia.it
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

...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

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