[Gfoss] [ANTISPAMRT:] determinare l'orientazione dei lati di poligoni rispetto a una linea

Totò Fiandaca pigrecoinfinito a gmail.com
Gio 11 Giu 2015 13:39:05 CEST


Ciao Claudia,
a mio avvivo si potrebbe risolvere (con un pò di ingegno) con l'uso di
PostGIS.
IN BREVE:

   1. devi importare i layer di interesse in PostGIS;
   2. per ogni edificio calcoli i centroidi delle facciate;
   3. per ogni centroide calcoli la minor distanza rispetto l'asse stradale;
   4. determini il punto finale del segmento di minor distanza;
   5. per ogni centroide calcoli l'azimut (che richiede il centroide e poi
   il punto finale precedentemente calcolato);
   http://postgis.net/docs/ST_Azimuth.html
   6. a parole sembra complicato, ma non è cosi; bastano poche linee di
   linguaggio SQL.
   7. CIAO.


Il giorno 11 giugno 2015 12:44, Marco Guiducci <
marco.guiducci a regione.toscana.it> ha scritto:

> On Thu, 11 Jun 2015 11:51:12 +0200
> Claudia Testanera <claudia.testanera a gmail.com> wrote:
>
> > Ciao a tutti!
> >
> > Ho un problema da risolvere, per cercare di automatizzare un processo.
> >
> > Nell'ambito di un progetto, devo individuare l'orientazione delle
> facciate
> > di edifici (poligoni) rispetto ad una strada (linea). L'attributo che
> > indica l'orientazione delle facciate deve essere collegato a dei punti
> che
> > sono posizionati su ognuna di esse.
> > Qui sotto vi mando un immagine del modello che sto realizzando. Sono
> tutti
> > oggetti esportabili in shape (strada, edifici - poligono verde, e punti).
> >
>
> penso che prima di trovare soluzioni, debbano essere definiti meglio i
> termini del problema.
> Per esempio: definiamo cosa è l'orientamento di un segmento esterno ad una
> spezzata, rispetto alla spezzata stessa.
> (la spezzata è la linestring che definisce la strada, il segmento è la
> facciata, un edificio è composto da tante facciate quanti sono i suoi
> segmenti, un segmento è la linea che unisce due vertici consecutivi del
> poligono dell'edificio).
> detta così dovrei risolvere un problema di uno a molti: un segmento di
> facciata con molti segmenti (la spezzata) della strada. Devo forse
> introdurre quindi un concetto di "intorno" per limitare il tratto di strada
> interessato e fare un linea interpolante?
> può bastare una operazione del tipo definito qui di seguito? traccio la
> perpendicolare alla facciata fino ad incrociare in un punto la strada. Se
> il punto è troppo lontano può essere che la facciata sia con angolo già
> prossimo ai 90° (allora introduco un livello di classe dell'attributo
> orientamento, del tipo superiore a tot)
> Altrimenti: identifico il segmento della strada e confronto allora
> l'angolo con la perpendicolare (l'orientamento sarà qualcosa tipo
> 90-angolo). oppure prendo qualche segmento prima e dopo, faccio la media
> degli angoli e confronto come prima.
> definiti meglio i termini, non conosco strumenti pronti all'uso, ma della
> sana e consapevole programmazione :-)
> spero di esser stato utile
> ciao, marco
>
>
>
>
> --
> Marco Guiducci <marco.guiducci a regione.toscana.it>
> Firenze, via di Novoli 26
> 055 4383194
> _______________________________________________
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 750 iscritti al 18.3.2015




-- 
*Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
43°51'0.54"N  10°34'27.62"E - EPSG:4326
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20150611/984c8a5b/attachment.html>


Maggiori informazioni sulla lista Gfoss