<div dir="ltr"><div class="gmail_default" style="font-family:garamond,serif;font-size:large">Ciao Claudia,</div><div class="gmail_default" style="font-family:garamond,serif;font-size:large">a mio avvivo si potrebbe risolvere (con un pò di ingegno) con l'uso di PostGIS.</div><div class="gmail_default" style="font-family:garamond,serif;font-size:large">IN BREVE:</div><div class="gmail_default" style><ol style><li style><font face="garamond, serif" size="4">devi importare i layer di interesse in PostGIS;</font></li><li style><font face="garamond, serif" size="4">per ogni edificio calcoli i centroidi delle facciate;</font></li><li style><font face="garamond, serif" size="4">per ogni centroide calcoli la minor distanza rispetto l'asse stradale;</font></li><li style><font face="garamond, serif" size="4">determini il punto finale del segmento di minor distanza;</font></li><li style><font face="garamond, serif" size="4">per ogni centroide calcoli l'azimut (che richiede il centroide e poi il punto finale precedentemente calcolato);<a href="http://postgis.net/docs/ST_Azimuth.html">http://postgis.net/docs/ST_Azimuth.html</a></font></li><li style><font face="garamond, serif" size="4">a parole sembra complicato, ma non è cosi; bastano poche linee di linguaggio SQL.</font></li><li style><font face="garamond, serif" size="4">CIAO.</font></li></ol></div></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 11 giugno 2015 12:44, Marco Guiducci <span dir="ltr"><<a href="mailto:marco.guiducci@regione.toscana.it" target="_blank">marco.guiducci@regione.toscana.it</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, 11 Jun 2015 11:51:12 +0200<br>
Claudia Testanera <<a href="mailto:claudia.testanera@gmail.com">claudia.testanera@gmail.com</a>> wrote:<br>
<br>
> Ciao a tutti!<br>
><br>
> Ho un problema da risolvere, per cercare di automatizzare un processo.<br>
><br>
> Nell'ambito di un progetto, devo individuare l'orientazione delle facciate<br>
> di edifici (poligoni) rispetto ad una strada (linea). L'attributo che<br>
> indica l'orientazione delle facciate deve essere collegato a dei punti che<br>
> sono posizionati su ognuna di esse.<br>
> Qui sotto vi mando un immagine del modello che sto realizzando. Sono tutti<br>
> oggetti esportabili in shape (strada, edifici - poligono verde, e punti).<br>
><br>
<br>
</span>penso che prima di trovare soluzioni, debbano essere definiti meglio i termini del problema.<br>
Per esempio: definiamo cosa è l'orientamento di un segmento esterno ad una spezzata, rispetto alla spezzata stessa.<br>
(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).<br>
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?<br>
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)<br>
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.<br>
definiti meglio i termini, non conosco strumenti pronti all'uso, ma della sana e consapevole programmazione :-)<br>
spero di esser stato utile<br>
ciao, marco<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
<br>
--<br>
Marco Guiducci <<a href="mailto:marco.guiducci@regione.toscana.it">marco.guiducci@regione.toscana.it</a>><br>
Firenze, via di Novoli 26<br>
055 4383194<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.<br>
750 iscritti al 18.3.2015</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="2"><font face="garamond, serif"><b>Salvatore Fiandaca</b><br><b>mobile</b>.:+39 327.493.8955 <br><b>m</b>: <b><a href="mailto:pigrecoinfinito@gmail.com" target="_blank">pig<span></span><span></span>recoinfinito@gmail.com</a></b></font></font></div><div dir="ltr"><font face="garamond, serif"><font size="2">43°51'0.54"N  10°34'27.62"E - EPSG:4326</font></font></div><div dir="ltr"><font face="garamond, serif"><font size="2"><br></font></font><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>