Messaggi: 16
Discussioni: 3
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Dec 2016
Reputazione:
0
12-27-2016, 07:48 PM
(Questo messaggio è stato modificato l'ultima volta il: 12-28-2016, 04:57 PM da Jackest.)
Salve a tutti! Vorrei sapere qual'è il metodo migliore per costruire un grafo di archi delimitati da nodi partendo da un vettore di polilinee. Ho provato ad usare v.clean e v.net.nodes di GRASS per semplificare le linee (se ci sono metodi migliori accetto consigli).
Ora vorrei ottenere per il layer una tabella di attributi in cui ogni riga (corrispondente a ogni arco) abbia nodo di origine e nodo di fine.
Per esempio, per l'arco che va dal nodo 5 al nodo 6, vorrei ottenere una riga così: "a56, 40.0000, 45.0000, 40.1234, 44.9999" corrispondente a "id_arco, X_nodo_origine, Y_nodo_origine, X_nodo_fine, Y_nodo_fine".
Messaggi: 742
Discussioni: 9
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Mar 2012
Reputazione:
0
Con "Estrai vertici" (sotto Vettore => Strumenti di geometria) ti crei i nodi a partire dalle polilinee, mentre assegni ai singoli tronchi le coordinate degli estremi col Calcolatore Campi:
round($x_at( 0) ,2)|| ',' || round($y_at( 0),2)|| ',' ||round($x_at( 1) ,2)|| ',' || round($y_at( 1),2)
Quanto al codice "a56", si può prelevare con una cosiddetta 'spatial join' (Vettore => Unisci attributi per posizione => min,max)
Messaggi: 16
Discussioni: 3
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Dec 2016
Reputazione:
0
(12-29-2016, 10:32 AM)Novarese Ha scritto: Con "Estrai vertici" (sotto Vettore => Strumenti di geometria) ti crei i nodi a partire dalle polilinee, mentre assegni ai singoli tronchi le coordinate degli estremi col Calcolatore Campi:
round($x_at( 0) ,2)|| ',' || round($y_at( 0),2)|| ',' ||round($x_at( 1) ,2)|| ',' || round($y_at( 1),2)
Quanto al codice "a56", si può prelevare con una cosiddetta 'spatial join' (Vettore => Unisci attributi per posizione => min,max)
Grazie e buon anno! :04251:
Alla fine ho usato semplicemente $x_at(0), $y_at(0), $x_at(1), $y_at(1) per avere una stringa più completa (è corretto?).
Adesso però se si potesse fare mi occorrebbe avere l'id di ogni nodo sempre nel layer degli archi, in modo da avere "( id_arco,x_origine,y_origine,x_fine,y_fine,id_origine,id_fine)". Sto provando a usare il calcolatore campi con le funzioni reference ma non ottengo il risultato
Messaggi: 742
Discussioni: 9
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Mar 2012
Reputazione:
0
(01-02-2017, 10:18 AM)Jackest Ha scritto: Adesso però se si potesse fare mi occorrebbe avere l'id di ogni nodo sempre nel layer degli archi, in modo da avere "(id_arco,x_origine,y_origine,x_fine,y_fine,id_origine,id_fine)". Sto provando a usare il calcolatore campi con le funzioni reference ma non ottengo il risultato
Ma hai provato la spatial join come ti era stato indicato..?
Messaggi: 16
Discussioni: 3
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Dec 2016
Reputazione:
0
01-02-2017, 11:27 AM
(Questo messaggio è stato modificato l'ultima volta il: 01-02-2017, 11:37 AM da Jackest.)
(01-02-2017, 10:32 AM)Novarese Ha scritto: (01-02-2017, 10:18 AM)Jackest Ha scritto: Adesso però se si potesse fare mi occorrebbe avere l'id di ogni nodo sempre nel layer degli archi, in modo da avere "(id_arco,x_origine,y_origine,x_fine,y_fine,id_origine,id_fine)". Sto provando a usare il calcolatore campi con le funzioni reference ma non ottengo il risultato
Ma hai provato la spatial join come ti era stato indicato..?
Sì, ma stavo sbagliando predicato geometrico mi sa. Ora funziona, chiedo scusa.
Ne approfitto per chiedere se è possibile splittare le linee (quindi generare gli archi) secondo un layer di nodi già creato. Perchè con v.clean(snap) del layer di linee ho ottenuto un perfetto numero di nodi, però gli archi sono troppo pochi, e sarebbe meglio che io riuscissi a spezzare il vettore orginale delle linee nei nodi già creati.
Le linee nere corrispondono al layer delle linee originale, quelle azzurre al vettore "pulito" con v.clean da cui ho estratto i nodi.
Ad esempio mancherebbe l'arco di collegamento fra i nodi 273 e 266.
Messaggi: 16
Discussioni: 3
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Dec 2016
Reputazione:
0
Buongiorno! Ringraziando per i consigli ricevuti finora, ho da fare un'altra domanda.
Ho usato v.net.iso di GRASS, facendo uno split nei nodi che mi interessavano, però ora avrei bisogno di collegare alla rete certi segmenti che già dal principio erano isolati.
Esiste un tool che possa fare in automatico quelle connessioni che io ho fatto (evidentemente a mano  ) in rosso?
Messaggi: 742
Discussioni: 9
Likes Received: 0 in 0 posts
Likes Given: 0
Registrato: Mar 2012
Reputazione:
0
Prova con Vettore => Dissolvi, magari dopo aver fatto una copia di sicurezza dei dati....
|