[QGIS-it-user] Spezzare geometrie

Ciao a tutti,
sto lavorando con un elemento lineare (la traccia di un percorso) che si
intreccia in vari punti. Ho bisogno di spezzare in alcune posizioni precise
ma quando uso lo strumento "Spezza geometrie" mi spezza la linea in tutti i
punti in cui essa si intreccia, cosa che io non voglio assolutamente.
C'è un modo per spezzare la linea solo dove gli dico io?

Grazie a tutti per gli eventuali suggerimenti

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

alper78 wrote

Ciao a tutti,
sto lavorando con un elemento lineare (la traccia di un percorso) che si
intreccia in vari punti. Ho bisogno di spezzare in alcune posizioni
precise
ma quando uso lo strumento "Spezza geometrie" mi spezza la linea in tutti
i
punti in cui essa si intreccia, cosa che io non voglio assolutamente.
C'è un modo per spezzare la linea solo dove gli dico io?

Grazie a tutti per gli eventuali suggerimenti

Ciao,
si, si puo' fare.
IMHO tutto si riduce nel posizionare i punti dove vuoi che le linee si
spezzino.

Posizionati i punti puoi usare plugin network oppure, se utilizzi db,
potresti usare spatialite [0] o postgis [1]

[0]
https://pigrecoinfinito.wordpress.com/2018/04/28/split-lines-with-points-the-spatialite-way/
[1]
https://mygisnotes.wordpress.com/2017/01/01/split-lines-with-points-the-postgis-way/

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Niente male questo Plugin “Network”.

···

Il giorno 19 maggio 2018 10:35, Totò <pigrecoinfinito@gmail.com> ha scritto:

alper78 wrote

Ciao a tutti,
sto lavorando con un elemento lineare (la traccia di un percorso) che si
intreccia in vari punti. Ho bisogno di spezzare in alcune posizioni
precise
ma quando uso lo strumento “Spezza geometrie” mi spezza la linea in tutti
i
punti in cui essa si intreccia, cosa che io non voglio assolutamente.
C’è un modo per spezzare la linea solo dove gli dico io?

Grazie a tutti per gli eventuali suggerimenti

Ciao,
si, si puo’ fare.
IMHO tutto si riduce nel posizionare i punti dove vuoi che le linee si
spezzino.

Posizionati i punti puoi usare plugin network oppure, se utilizzi db,
potresti usare spatialite [0] o postgis [1]

[0]
https://pigrecoinfinito.wordpress.com/2018/04/28/split-lines-with-points-the-spatialite-way/
[1]
https://mygisnotes.wordpress.com/2017/01/01/split-lines-with-points-the-postgis-way/

saluti


https://pigrecoinfinito.wordpress.com/


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Totò wrote

...
Posizionati i punti puoi usare plugin network oppure, se utilizzi db,
potresti usare spatialite [0] o postgis [1]
...

Non ho ben capito questo plugin network. In QGIS 3 non lo trovo mentre nella
versione 2.18 trovo un plugin "networks" con una funzione di split che però
spezza la linea automaticamente e non dove voglio io.
Ho invece trovato negli strumenti di processing uno strumento di SAGA "Split
lines with lines" che taglia un vettore lineare solo nei punti in cui esso
interseca un secondo layer di linee. Purtroppo crea anche molti elementi di
lunghezza nulla (che comunque possono essere indivuduati ed eliminati).
Comunque ho risolto in un altro modo: visto che avevo creato la linea di
partenza partendo da un layer di punti, ho aggiunto prima un attributo in
questo layer per raggruppare i punti, poi nello strumento di processing "Da
punti a linea" ho usato tale attributo come "Campo del gruppo" così ottengo
le linee gìà separate.

Invece mi segno le due soluzioni con spatialite e postgis che al momento non
so usare ma mi rendo conto che prima o poi dovrò imparare.

Grazie

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Con il plugin Network devi usare la funzione Connect per “connettere” i punti alla polilinea e creare dei nodi sulla polilinea corrispondenti ai punti “connessi”. Al pari della mirabile e geniale soluzione “spatialite” proposta da Totò (credimi, se ti ci addentri e ne capisci la logica, è come se avessi fatto un master in GIS) la funzione Connect del plugin Network funziona anche per punti “vicini” alla polilinea e non necessariamente combiacianti …basta sfruttare l’opzione Radius. Dopo che sulla tua polilinea hai ottenuto i nodi corrispondenti ai punti “connessi”, la spezzi con uno dei due milioni di strumenti che spezzano le polilinee secondo i loro nodi o vertici che dir si voglia.
Un’ultima cosa. Un invito. Con il plugin Network connetti i punti alla polilinea così come serve a te, …ma lo fai “alla cieca”, …usando una blackbox (il Plugin) di cui non sai nulla. Se invece hai tempo, ti consiglio di cimentarti e di sviscerare …tanto non si rompe :wink: …la soluzione Spatialite proposta da Totò …perchè così diventi padrone del procedimento, capisci le elaborazioni in corso e vai oltre un semplice e sterile input → output.

···

Il giorno 19 maggio 2018 16:54, alper78 <alsper78@gmail.com> ha scritto:

Totò wrote


Posizionati i punti puoi usare plugin network oppure, se utilizzi db,
potresti usare spatialite [0] o postgis [1]

Non ho ben capito questo plugin network. In QGIS 3 non lo trovo mentre nella
versione 2.18 trovo un plugin “networks” con una funzione di split che però
spezza la linea automaticamente e non dove voglio io.
Ho invece trovato negli strumenti di processing uno strumento di SAGA “Split
lines with lines” che taglia un vettore lineare solo nei punti in cui esso
interseca un secondo layer di linee. Purtroppo crea anche molti elementi di
lunghezza nulla (che comunque possono essere indivuduati ed eliminati).
Comunque ho risolto in un altro modo: visto che avevo creato la linea di
partenza partendo da un layer di punti, ho aggiunto prima un attributo in
questo layer per raggruppare i punti, poi nello strumento di processing “Da
punti a linea” ho usato tale attributo come “Campo del gruppo” così ottengo
le linee gìà separate.

Invece mi segno le due soluzioni con spatialite e postgis che al momento non
so usare ma mi rendo conto che prima o poi dovrò imparare.

Grazie


Alessandro Perego
http://www.alspergis.altervista.org


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Marco wrote

Con il plugin Network devi usare la funzione Connect per "connettere" i
punti alla polilinea e creare dei nodi sulla polilinea corrispondenti ai
punti "connessi". ...

Ok grazie, ora penso di aver capito come funziona ma mi succedono un paio di
cose strane.

Ho creato i punti da connettere usando le opzioni di aggancio in modo da
avere punti coincidenti con i vertici dove voglio tagliare.

Con dati in WGS 84 (quindi coordinate in gradi) il plugin mi connette il
punto molto prima del vertice coincidente causando un'alterazione della
linea (provo ad allegare un'immagine).
<http://osgeo-org.1560.x6.nabble.com/file/t367911/connessione.png&gt;
Succede anche con tolleranza molto bassa (con molti decimali ma comunque
maggiore di zero altrimenti non accade nulla). Ho l'impressione che il
plugin abbia un limite di precisione (numero di decimali) della tolleranza
oltre il quale non riesce a scendere per cui quando trova il primo segmento
che soddisfa questa precisione lo aggancia al punto.

Convertendo i dati in proiezione utm sembra funzionare bene tuttavia per
ogni punto il primo nodo della nuova linea successiva al punto risulta
duplicato e viene creata anche una nuova linea di lunghezza nulla
(praticamente due soli vertici coincidenti tra loro e con il punto
connesso).

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Quando operi in WGS84 lavori in gradi e non in metri e quindi, ad esempio, se in Network → Connect → Radius imposti un raggio di ricerca di 100, stai dicendo al Plugin di QGIS (e a QGIS) di cercare i punti posti nelle vicinanze della tua polilinea per un raggio non di 100 metri ma di 100 gradi, ossia più meno un quarto della circonferenza terrestre.
P.S. Questo è un esempio pratico di cosa intendo per usare i Plugin come delle blackbox nelle quali insaccare palate di input a go go e aspettare che sforni, senza chiedersi cosa succeda dentro la black box, uno scatolone di output

···

Il giorno 19 maggio 2018 21:25, alper78 <alsper78@gmail.com> ha scritto:

Marco wrote

Con il plugin Network devi usare la funzione Connect per “connettere” i
punti alla polilinea e creare dei nodi sulla polilinea corrispondenti ai
punti “connessi”. …

Ok grazie, ora penso di aver capito come funziona ma mi succedono un paio di
cose strane.

Ho creato i punti da connettere usando le opzioni di aggancio in modo da
avere punti coincidenti con i vertici dove voglio tagliare.

Con dati in WGS 84 (quindi coordinate in gradi) il plugin mi connette il
punto molto prima del vertice coincidente causando un’alterazione della
linea (provo ad allegare un’immagine).
<http://osgeo-org.1560.x6.nabble.com/file/t367911/connessione.png>
Succede anche con tolleranza molto bassa (con molti decimali ma comunque
maggiore di zero altrimenti non accade nulla). Ho l’impressione che il
plugin abbia un limite di precisione (numero di decimali) della tolleranza
oltre il quale non riesce a scendere per cui quando trova il primo segmento
che soddisfa questa precisione lo aggancia al punto.

Convertendo i dati in proiezione utm sembra funzionare bene tuttavia per
ogni punto il primo nodo della nuova linea successiva al punto risulta
duplicato e viene creata anche una nuova linea di lunghezza nulla
(praticamente due soli vertici coincidenti tra loro e con il punto
connesso).


Alessandro Perego
http://www.alspergis.altervista.org

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Dividere le geometrie con linee c’è anche in QGIS, oltre che in SAGA. Per averlo, devi attivare la barra comandi di “Digitalizzazione avanzata”. C’è anche un comando che ti permette di spezzare le geometrie con linee “virtuali” che scompaiono dovo aver spezzato la geometria, senza obbligarti a fare un layer apposta per la linea di taglio.
Ciao

Carlo

···

Il giorno 19 maggio 2018 16:54, alper78 <alsper78@gmail.com> ha scritto:

Totò wrote


Posizionati i punti puoi usare plugin network oppure, se utilizzi db,
potresti usare spatialite [0] o postgis [1]

Non ho ben capito questo plugin network. In QGIS 3 non lo trovo mentre nella
versione 2.18 trovo un plugin “networks” con una funzione di split che però
spezza la linea automaticamente e non dove voglio io.
Ho invece trovato negli strumenti di processing uno strumento di SAGA “Split
lines with lines” che taglia un vettore lineare solo nei punti in cui esso
interseca un secondo layer di linee. Purtroppo crea anche molti elementi di
lunghezza nulla (che comunque possono essere indivuduati ed eliminati).
Comunque ho risolto in un altro modo: visto che avevo creato la linea di
partenza partendo da un layer di punti, ho aggiunto prima un attributo in
questo layer per raggruppare i punti, poi nello strumento di processing “Da
punti a linea” ho usato tale attributo come “Campo del gruppo” così ottengo
le linee gìà separate.

Invece mi segno le due soluzioni con spatialite e postgis che al momento non
so usare ma mi rendo conto che prima o poi dovrò imparare.

Grazie


Alessandro Perego
http://www.alspergis.altervista.org


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Carlo TERSIGNI
Via Padre Semeria, 63 00154 - ROMA
tel.: 333-4653589
e-mail: carter.012@gmail.com

Carlo Tersigni wrote

Dividere le geometrie con linee c'è anche in QGIS, oltre che in SAGA. Per
averlo, devi attivare la barra comandi di "Digitalizzazione avanzata". C'è
anche un comando che ti permette di spezzare le geometrie con linee
"virtuali" che scompaiono dovo aver spezzato la geometria, senza
obbligarti
a fare un layer apposta per la linea di taglio.

Ho provato lo "Spezza geometrie" della barra di "Digitalizzazione avanzata"
ed il "Dividi con linee" negli strumenti di processing di QGIS >
Sovrapposizione vettore", ma se non ho sbagliato io qualcosa entrambi
spezzano la linea in tutti i punti in cui essa interseca se stessa e non
solo nei punti in cui voglio io.

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Marco wrote

Quando operi in WGS84 lavori in gradi e non in metri e quindi, ad esempio,
se in Network --> Connect --> Radius imposti un raggio di ricerca di 100,
stai dicendo al Plugin di QGIS (e a QGIS) di cercare i punti posti nelle
vicinanze della tua polilinea per un raggio non di 100 metri ma di 100
gradi, ossia più meno un quarto della circonferenza terrestre.
P.S. Questo è un esempio pratico di cosa intendo per usare i Plugin come
delle blackbox nelle quali insaccare palate di input a go go e aspettare
che sforni, senza chiedersi cosa succeda dentro la black box, uno
scatolone
di output

Infatti ho impostato un raggio pari a 0.00000001 ma il plugin ha connesso il
punto ad un segmento della linea distante 0.00008 gradi anche se non è il
più vicino. Per questo penso che il plugin abbia un limite di precisione e
quindi un valore minimo di raggio oltre il quale non scende. Così quando
trova il primo segmento di linea che soddisfa questo raggio minimo lo
aggancia al punto anche se ci sono altri segmenti piùì vicini (o almeno
questa è la mia impressione).
Questo può essere irrilevante quando si lavora in metri ma diventa un
problema per dati con coordinate in gradi dove, come ha detto anche tu, gli
ordini di grandezza sono completamente diversi.

Sono totalmente d'accordo che usare i plugin a scatola chiusa sia limitante
(servono per velocizzare procedure comuni ma non risolvono casi
particolari), però non pensavo che spezzare una linea solo a determinati
vertici fosse un caso particolare; speravo ci fosse un modo per farlo con un
paio di click. Come già detto in precedenza ho risolto in altro modo e non
prevedo di doverlo rifare in futuro, altrimenti proverei a fare un script
Python così sarei sicuro di ottenere ciò che voglio, però sono un dilettante
con Python e ci metterei una giornata solo per scrivere lo script.

Sono interessato a spatialite per capire se può essere una via di mezzo come
complessità tra l'uso dei plugin e lo scripting in python (o forse alcune
cose sono anche meglio che con python), però al momento non ho tempo da
dedicargli.

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Mi sfugge qualcosa. Quando parlo di “spezza geometrie” mi riferisco a questa icona .
Non è possibile che ti spezzi la linea in più punti, perché agisce solo all’intersezione della tua geometria (Linea) con la linea virtuale che disegni dopo aver attivato l’icona. E agisce solo se hai evidenziato la tua geometria. Se non c’è la linea virtuale non può spezzare nulla.

Forse ho capito male il tuo problema.
Carlo​

···

Il giorno 20 maggio 2018 10:23, alper78 <alsper78@gmail.com> ha scritto:

Carlo Tersigni wrote

Dividere le geometrie con linee c’è anche in QGIS, oltre che in SAGA. Per
averlo, devi attivare la barra comandi di “Digitalizzazione avanzata”. C’è
anche un comando che ti permette di spezzare le geometrie con linee
“virtuali” che scompaiono dovo aver spezzato la geometria, senza
obbligarti
a fare un layer apposta per la linea di taglio.

Ho provato lo “Spezza geometrie” della barra di “Digitalizzazione avanzata”
ed il “Dividi con linee” negli strumenti di processing di QGIS >
Sovrapposizione vettore", ma se non ho sbagliato io qualcosa entrambi
spezzano la linea in tutti i punti in cui essa interseca se stessa e non
solo nei punti in cui voglio io.


Alessandro Perego
http://www.alspergis.altervista.org

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Carlo TERSIGNI
Via Padre Semeria, 63 00154 - ROMA
tel.: 333-4653589
e-mail: carter.012@gmail.com

Carlo Tersigni wrote

Mi sfugge qualcosa. Quando parlo di "spezza geometrie" mi riferisco a
questa icona .
Non è possibile che ti spezzi la linea in più punti, perché agisce solo
all'intersezione della tua geometria (Linea) con la linea virtuale che
disegni dopo aver attivato l'icona. E agisce solo se hai evidenziato la
tua
geometria. Se non c'è la linea virtuale non può spezzare nulla.
Forse ho capito male il tuo problema.
Carlo​

La mia linea è un percorso rilevato con dispositivo GPS che in alcuni punti
si autointerseca (perché sono ripassato più volte per uno stesso punto o
perché stando fermo in una posizione il rilevatore gps continua a registrare
punti creando un groviglio). Quando uso lo strumento "Spezza geometrie" la
linea iniziale viene spezzata non solo all'incrocio con la linea virtuale
che disegno ma anche in tutti gli altri punti in cui essa si autointerseca.
Ovvero la linea si spezza in ogni punto di intersezione, sia con la linea di
splitter che con se stessa. Io invece vorrei spezzarla solo in determinati
punti lasciando intatte le auto-intersezioni.
Per fare questo ho trovato solo lo strumento "Split lines with lines" di
SAGA ed il plugin network (suggeritomi da Totò e Marco) che però ha i
problemi che ho esposto prima.
O forse sono io che sbaglio qualcosa.

PS: però l'icona che hai messo è quella dello strumento "Dividi parti" che
crea più parti in una stessa geometria, il mio intento invece è di creare
geometrie diverse.

-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Mi dispiace.Oltre i suggerimenti dati, non credo di poterti aiutare.

···

Il giorno 20 maggio 2018 19:03, alper78 <alsper78@gmail.com> ha scritto:

Carlo Tersigni wrote

Mi sfugge qualcosa. Quando parlo di “spezza geometrie” mi riferisco a
questa icona .
Non è possibile che ti spezzi la linea in più punti, perché agisce solo
all’intersezione della tua geometria (Linea) con la linea virtuale che
disegni dopo aver attivato l’icona. E agisce solo se hai evidenziato la
tua
geometria. Se non c’è la linea virtuale non può spezzare nulla.
Forse ho capito male il tuo problema.
Carlo​

La mia linea è un percorso rilevato con dispositivo GPS che in alcuni punti
si autointerseca (perché sono ripassato più volte per uno stesso punto o
perché stando fermo in una posizione il rilevatore gps continua a registrare
punti creando un groviglio). Quando uso lo strumento “Spezza geometrie” la
linea iniziale viene spezzata non solo all’incrocio con la linea virtuale
che disegno ma anche in tutti gli altri punti in cui essa si autointerseca.
Ovvero la linea si spezza in ogni punto di intersezione, sia con la linea di
splitter che con se stessa. Io invece vorrei spezzarla solo in determinati
punti lasciando intatte le auto-intersezioni.
Per fare questo ho trovato solo lo strumento “Split lines with lines” di
SAGA ed il plugin network (suggeritomi da Totò e Marco) che però ha i
problemi che ho esposto prima.
O forse sono io che sbaglio qualcosa.

PS: però l’icona che hai messo è quella dello strumento “Dividi parti” che
crea più parti in una stessa geometria, il mio intento invece è di creare
geometrie diverse.


Alessandro Perego
http://www.alspergis.altervista.org

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Carlo TERSIGNI
Via Padre Semeria, 63 00154 - ROMA
tel.: 333-4653589
e-mail: carter.012@gmail.com