... o almeno così credo :-)
Ho un layer composto da linee che spesso si intersecano tra loro, io vorrei che ad ogni intersezione le linee avessero un nodo. Con PostGIS sono riuscito ad estrarre tutte le intersezioni ma non so poi come aggiungerle alla linea nella giusta posizione, con GRASS invece ho provato con v.net ma senza successo. Qualche idea ? 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. |
Se ti serve una cosa come l'allegato che ti ho messo, prova con qgis Strumenti > Strumenti di Analisi>Intersezioni linea.
ciao luca
2010/2/18 Stefano Salvador <[hidden email]> ... o almeno così credo :-) _______________________________________________ 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. |
In reply to this post by Stefano Salvador
>Ho un layer composto da linee che spesso si intersecano tra loro, io vorrei In Postgis il modo esiste. Feci anche io delle prove al riguardo con poligoni archi e nodi. Comunque per mettere a punto il tutto ci vuole del tempo, tanta pazienza e svariate prove. Per cui se hai fretta ti conviene passare da altro ambiente :) Comunque: Si tratta di effettuare una serie di stringhe sql basate su varie nidificazioni di subquery e appoggiare i risultati su delle tabelle temporanee pe rtiutilizzarli (poi alla fine cancelli e rimuovi le tabelle temporanee) A grandissime linee: selezioni le linee che si intersecano con un filtro usando ST_Intersects(a.geom,b.geom)=true Le tagli con ST_Multi(ST_Intersection(ST_Boundary(a.geom),b.geom)) as geom Le butti in una tabella con geometria MultiLine. Ci aggiungi un progressivo preso da una sequence per fare contento quell'impiastro di qgis. Per i nodi li inserisci in una tabella di punti in cui il primo e l'ultimo li identifichi trmaite una stringa wkt che crei al volo e usi per definire la geometria che popola la tabella dei punti. La stringa wkt la ricavi con un costrutto sql di questo tipo: ST_X(ST_PointN(b.geom,1)) || ' ' || ST_Y(ST_PointN(b.geom,1)) as coordinata_partenza ST_X(ST_PointN(b.geom,ST_NPoints(b.geom))) || ' ' || ST_Y(ST_PointN(b.geom,ST_NPoints(b.geom))) as coordinata_finale Ovviamente e' il festival delle query nidificate e con qualche tabella temporanea di appoggio su cui inserisci i dati per poi riprenderli con la successsiva query. Ciao, -- ----------------- 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. |
Grazie Andrea, questo era il passaggio che mi mancava, adesso sento di essere sulla strada giusta :-) 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. |
In reply to this post by Stefano Salvador
>/ ST_Multi(ST_Intersection(ST_Boundary(a.geom),b.geom)) as geom
OOps, Rimuovi la funzione ST_Boundary altrimenti non funziona. ST_Boundary serviva a me che facevo una cosa un po' differente, ma per il taglio delle linestring va levato. Andrea. / _______________________________________________ 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. |
Free forum by Nabble | Edit this page |