[Gfoss] Come modificare verso di digitalizzazione per un profilo

Buongiorno a tutti

Ho un problema riguardo al verso di digitalizzazione delle linee che non so come risolvere.

Ho uno shp di linee con un percorso, questo è stato creato utilizzando altri 3 shp, quindi ho dovuto tagliare, modificare, aggiungere nuovi pezzi e fondere tutte le linee insieme per creare un unico percorso (unica linea), cioè il mio shp iniziale.

A questo punto mi servirebbe calcolare il profilo del mio percorso, utilizzo il plugin Terrain Profile ed il risultato è un profilo, ma il problema arriva ora, cioè il profilo che ottengo non segue l’andamento del mio percorso, ma segue l’andamento di come sono stati digitalizzati tutti i singoli pezzi, quindi il profilo che ottengo parte dall’inizio, poi salta, riparte da metà, poi va alla fine e segue il verso opposto e poi risalta nuovamente.

Come faccio a risolvere il mio problema?

Penso che bisogna modificare qualcosa sul verso di digitalizzazione, ma non so proprio come fare.

Ringrazio anticipatamente chi ha qualche soluzione

Buona giornata

Carlo

Il 18/11/2014 17:12, Carlo Nardi ha scritto:

Penso che bisogna modificare qualcosa sul verso di digitalizzazione, ma non so
proprio come fare.

pubblicato da pochi giorni:
plugin networks, per QGIS.
saluti.

--
Paolo Cavallini - www.faunalia.eu
Corsi QGIS e PostGIS: http://www.faunalia.eu/training.html

Il giorno Tue, 18 Nov 2014 17:12:16 +0100
Carlo Nardi <naca84@alice.it> ha scritto:

Buongiorno a tutti

ciao Carlo (spero non disturbi la _seconda_ persona singlare :slight_smile:

Ho un problema riguardo al verso di digitalizzazione delle linee che
non so come risolvere.
....
Come faccio a risolvere il mio problema?
......
Ringrazio anticipatamente chi ha qualche soluzione

non so se ho capito bene: tu, alla fine di un certo processo, ti trovi
delle linestring spezzate e disordinate e ti piacerebbe che quelle
allineate fossero unite fra loro, è così?

non so se ci sia già qualche comando, forse in grass (che purtroppo non
conosco quasi per niente), comunque non dovrebbe essere difficile farlo
con un plugin in python: un confronto di ogni linestring con tutte le
altre; quando vi è un match fra inizio-inizio, inizio-fine, fine-inizio
e fine-fine puoi unire le due linestring in una sola avendo cura
eventualmente di fare il reverse di una e, nel caso, scambiarle di
posto;

credo abbia complessità O(n^2) e probabilmente è migliorabile, ma forse
hai a che fare con un solo profilo, quindi una sola linestring,
pertanto potrebbe essere un discreto punto di partenza;

perdonami se ho frainteso, magari dalle tue integrazioni altri
capiranno meglio :slight_smile:

Buona giornata

Carlo

ciao,
giuliano

/
Carlo Nardi wrote

mi servirebbe calcolare il profilo del mio percorso, utilizzo il plugin
Terrain Profile

/
A parte il fatto che un profilo ha bisogno di un Dem, e non mi pare che tu
lo abbia citato, ma poi non ho mai sentito di alcun Terrain Profile: che
software Gis stai usando..?

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Come-modificare-verso-di-digitalizzazione-per-un-profilo-tp7590500p7590511.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Il 18/11/2014 23:11, giulianc51 ha scritto:

non so se ci sia già qualche comando, forse in grass (che purtroppo non
conosco quasi per niente), comunque non dovrebbe essere difficile farlo
con un plugin in python: un confronto di ogni linestring con tutte le
altre; quando vi è un match fra inizio-inizio, inizio-fine, fine-inizio
e fine-fine puoi unire le due linestring in una sola avendo cura
eventualmente di fare il reverse di una e, nel caso, scambiarle di
posto;

ci sono alcuni plugins di QGIS che fanno questo.
saluti.

--
Paolo Cavallini - www.faunalia.eu
Corsi QGIS e PostGIS: http://www.faunalia.eu/training.html

/
pcav wrote

ci sono alcuni plugins di QGIS che fanno questo

/
Esatto, ma in prima battuta potrebbe bastare anche:

*VETTORE => STRUMENTI DI GEOMETRIA => DA PARTI SINGOLE A PARTI MULTIPLE*

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Come-modificare-verso-di-digitalizzazione-per-un-profilo-tp7590500p7590515.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Ciao a tutti

Sono riuscito a superare il problema, un pò macchinoso, ma per ora non ho trovato altri modi, speriamo che qualcuno ha una soluzione più automatica.

PROBLEMA

Ho uno shp linee con un percorso creato da tanti piccoli segmenti con origine e verso differente

es: inizio1-fine1 - fine3-inizio3 - inizio2-fine2

Il mio scopo è quello di creare il profilo del percorso.

SOLUZIONE

Se utilizzo lo shp così com’è il profilo mi segue ID di digitalizzazione dei segmenti ed il profilo mi viene a salti.

Ho aggirato il problema in questo modo:

1- convertito lo shp da linee a punti

2- creato una nuova colonna (n) nella tabella attributi ed ho inserito l’ordine giusto dei punti

3- creato una colonna x e y

4- aperto il file .dbf con un foglio elettronico e ho riordinato secondo la colonna creata (n)

5- importato il foglio elettronico in qgis come punti

6- convertito i punti in linea

Se faccio girare questo shp su un plugin per il profilo funziona correttamente.

Come avete visto la procedura è parecchio macchinosa, se si riesce ad ordinare la sequenza dei vertici direttamente dallo shp linee, la procedura sarà molto più veloce ed automatica… ma io non so come farlo.

Si accettano suggerimenti.

Buona giornata

Carlo

in data mercoledì 19 novembre 2014, alle ore 07:57, hai scritto:

Il 18/11/2014 23:11, giulianc51 ha scritto:

non so se ci sia già qualche comando, forse in grass (che purtroppo non

conosco quasi per niente), comunque non dovrebbe essere difficile farlo

con un plugin in python: un confronto di ogni linestring con tutte le

altre; quando vi è un match fra inizio-inizio, inizio-fine, fine-inizio

e fine-fine puoi unire le due linestring in una sola avendo cura

eventualmente di fare il reverse di una e, nel caso, scambiarle di

posto;

ci sono alcuni plugins di QGIS che fanno questo.

saluti.

I migliori saluti, Scrivi a:

Carlo naca84@alice.it

Se il percorso deve essere trasformato in una unica linea, Grass funziona bene. Si tratta di importare il vettoriale in Grass, che sarà costituito da una serie di segmenti.
Bisogna assicurarsi soltanto che i vertici dei segmenti coincidano, questo si fa entrando in modalità di digitalizzazione del vettore e guardando se i vertici tra un segmento e l’altro sono colorati in verde. “Zoommando” su quelli in rosso ci si accorge che la fine di un segmento non coincide con l’inizio del successivo, basta spostare uno dei vertici in modo che, in base alle opzioni di snap, i vertici coincidano e grass li colora in verde.
A questo punto, se tutti i vertici sono verdi, si usa il comando v.build.polylines che crea come output una linea unica.

http://grass.osgeo.org/grass64/manuals/v.build.polylines.html

Il comando non funziona se i vertici non coincidono o se ci sono più di due segmenti che si uniscono nello stesso punto, quindi bisogna rimuovere anche questi eventuali segmenti (dangle) che sono superflui rispetto al percorso.
Infine se la direzione della linea unica ottenuta da v.build.polylines non è corretta la si inverte con il comando v.edit e l’opzione flip
Forse sembra complicato ma in pratica è veloce e bastano 2 comandi.
Purtroppo mi sembra che v.build.polylines non è in processing, quindi è d’obbligo usare grass

Ciao

···

Il giorno 19 novembre 2014 13:44, Carlo Nardi <naca84@alice.it> ha scritto:

Ciao a tutti

Sono riuscito a superare il problema, un pò macchinoso, ma per ora non ho trovato altri modi, speriamo che qualcuno ha una soluzione più automatica.

PROBLEMA

Ho uno shp linee con un percorso creato da tanti piccoli segmenti con origine e verso differente

es: inizio1-fine1 - fine3-inizio3 - inizio2-fine2

Il mio scopo è quello di creare il profilo del percorso.

SOLUZIONE

Se utilizzo lo shp così com’è il profilo mi segue ID di digitalizzazione dei segmenti ed il profilo mi viene a salti.

Ho aggirato il problema in questo modo:

1- convertito lo shp da linee a punti

2- creato una nuova colonna (n) nella tabella attributi ed ho inserito l’ordine giusto dei punti

3- creato una colonna x e y

4- aperto il file .dbf con un foglio elettronico e ho riordinato secondo la colonna creata (n)

5- importato il foglio elettronico in qgis come punti

6- convertito i punti in linea

Se faccio girare questo shp su un plugin per il profilo funziona correttamente.

Come avete visto la procedura è parecchio macchinosa, se si riesce ad ordinare la sequenza dei vertici direttamente dallo shp linee, la procedura sarà molto più veloce ed automatica… ma io non so come farlo.

Si accettano suggerimenti.

Buona giornata

Carlo

in data mercoledì 19 novembre 2014, alle ore 07:57, hai scritto:

Il 18/11/2014 23:11, giulianc51 ha scritto:

non so se ci sia già qualche comando, forse in grass (che purtroppo non

conosco quasi per niente), comunque non dovrebbe essere difficile farlo

con un plugin in python: un confronto di ogni linestring con tutte le

altre; quando vi è un match fra inizio-inizio, inizio-fine, fine-inizio

e fine-fine puoi unire le due linestring in una sola avendo cura

eventualmente di fare il reverse di una e, nel caso, scambiarle di

posto;

ci sono alcuni plugins di QGIS che fanno questo.

saluti.

I migliori saluti, Scrivi a:

Carlo naca84@alice.it


Gfoss@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.
666+40 iscritti al 5.6.2014

Andrea Fredduzzi (phD)
Dipartimento di Fisica e Geologia
Università di Perugia
Via Zefferino Faina, 4 - 06123 PERUGIA
e-mail: andrea.fredduzzi@unipg.it - andreafredd@gmail.com
tel: +39(0)755853760 - fax: +39(0)755853756