[QGIS-it-user] [Tutorial] QGIS - shortest_line con il calcolatore campi

Ho realizzato un piccolo tutorial sull'uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

saluti

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

Il 28/10/2016 15:59, Totò ha scritto:

Ho realizzato un piccolo tutorial sull'uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

Complimenti, molto bello.
Grazie.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis

Si, complimenti davvero, grazie anche da parte mia.

···

Il 28 Ott 2016 17:31, “Paolo Cavallini” <cavallini@faunalia.it> ha scritto:

Il 28/10/2016 15:59, Totò ha scritto:

Ho realizzato un piccolo tutorial sull’uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

Complimenti, molto bello.
Grazie.


Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis


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

On 10/28/16, Totò <pigrecoinfinito@gmail.com> wrote:

Ho realizzato un piccolo tutorial sull'uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

azz... Totò, averlo saputo prima, ho dovuto fare un plugin per
implementare quella funzione :frowning:

saluti

grazie, ciao,
giuliano

Grazie mille, Totò! Utilissimo!

Ma quando trovi il tempo per tutto?

Saluti,
Gabriela


Da: Totò pigrecoinfinito@gmail.com
A: qgis-it-user@lists.osgeo.org
Inviato: Venerdì 28 Ottobre 2016 16:59
Oggetto: [QGIS-it-user] [Tutorial] QGIS - shortest_line con il calcolatore campi

Ho realizzato un piccolo tutorial sull’uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

saluti


View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.


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

Il tutorial è utilissimo perchè ben rappresenta la potenzialità delle funzioni del calcolatore di campo che, se utilizzate con perizia e sapienza (e dopo averne capito bene la “logica”) consentono addirittura di operare tra layer diversi, il che non è poco e, almeno per me, aprono nuove prospettive d’uso applicativo.
Nello specifico dell’esempio delle “shortest line” credo sia comunque “giusto” segnalare anche che v.distance di GRASS fa esattamente le stesse cose …anche se, per riallacciarmi a quello che dicevo prima …v.distance fa esattamente le stesse cose ma fa “solo” quelle cose …mentre acquisire padronanza con le potenti e poliedriche funzioni del calcolatore di campo e, in particolare del gruppo “geometria” (geom_to_wkt, shortest_line, ecc.) ti consente di fare quelle stesse cose e altre cento cose in più che con v.distance non puoi fare.

···

Il giorno 28 ottobre 2016 17:45, Giuliano Curti <giulianc51@gmail.com> ha scritto:

On 10/28/16, Totò <pigrecoinfinito@gmail.com> wrote:

Ho realizzato un piccolo tutorial sull’uso della funzione shortest_line nel
calcolatore di campi,
questo permette di calcolare la distanza minima tra un vettore di punti e un
vettore linea:
dati e progetto in github:
https://github.com/pigreco/shortest_line

azz… Totò, averlo saputo prima, ho dovuto fare un plugin per
implementare quella funzione :frowning:

saluti

grazie, ciao,
giuliano


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

Marco wrote

Il tutorial è utilissimo perchè ben rappresenta la potenzialità delle
funzioni del calcolatore di campo che, se utilizzate con perizia e
sapienza
(e dopo averne capito bene la "logica") consentono addirittura di operare
tra layer diversi, il che non è poco e, almeno per me, aprono nuove
prospettive d'uso applicativo.
Nello specifico dell'esempio delle "shortest line" credo sia comunque
"giusto" segnalare anche che v.distance di GRASS fa esattamente le stesse
cose ...anche se, per riallacciarmi a quello che dicevo prima
...v.distance
fa esattamente le stesse cose ma fa "solo" quelle cose ...mentre acquisire
padronanza con le potenti e poliedriche funzioni del calcolatore di campo
e, in particolare del gruppo "geometria" (geom_to_wkt, shortest_line,
ecc.)
ti consente di fare quelle stesse cose e altre cento cose in più che con
v.distance non puoi fare.

Il mio scopo era quello di far vedere come utilizzare le potenzialità di
QGIS e solo QGIS senza disturbare GRASS o altri plugin;
aggiungo che che le stesse cose è possibile farle utilizzando i virtual
layer di QGIS dove occorre un po' di conoscenza di SQL.

L'utilizzatore 'medio basso' ha timore di GRASS e di SQL e cerca soluzioni
semplici rimanendo all'interno di QGIS, parlo per esperienza diretta.

Infine, la cosa interessante è la funzione 'get_feature' che permette di
richiamare altri layer presenti nel progetto.

ciao

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293430.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

allego un altro video demo [0] su come calcolare la distanza lungo una linea
fissando a piace un punto nelle vicinanze della stessa.
ho utilizzato la nuova funzione di QGIS 2.18 (line_locate_point),
ho creato due virtual layer per visualizzare il punto sulla linea (stella) e
la retta ortogonale;
con la funzione azimuth ho fatto ruotare le etichette facendo uso della
funzione get_feature, usata anche in line_locate_point.

[0] https://www.youtube.com/watch?v=wlyFv1HVUMM

saluti

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293434.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

…la penso esattamente come te.
P.S. “get_feature” per me è come un salto di livello nei videogiochi

···

Il giorno 29 ottobre 2016 15:24, Totò <pigrecoinfinito@gmail.com> ha scritto:

Marco wrote

Il tutorial è utilissimo perchè ben rappresenta la potenzialità delle
funzioni del calcolatore di campo che, se utilizzate con perizia e
sapienza
(e dopo averne capito bene la “logica”) consentono addirittura di operare
tra layer diversi, il che non è poco e, almeno per me, aprono nuove
prospettive d’uso applicativo.
Nello specifico dell’esempio delle “shortest line” credo sia comunque
“giusto” segnalare anche che v.distance di GRASS fa esattamente le stesse
cose …anche se, per riallacciarmi a quello che dicevo prima
…v.distance
fa esattamente le stesse cose ma fa “solo” quelle cose …mentre acquisire
padronanza con le potenti e poliedriche funzioni del calcolatore di campo
e, in particolare del gruppo “geometria” (geom_to_wkt, shortest_line,
ecc.)
ti consente di fare quelle stesse cose e altre cento cose in più che con
v.distance non puoi fare.

Il mio scopo era quello di far vedere come utilizzare le potenzialità di
QGIS e solo QGIS senza disturbare GRASS o altri plugin;
aggiungo che che le stesse cose è possibile farle utilizzando i virtual
layer di QGIS dove occorre un po’ di conoscenza di SQL.

L’utilizzatore ‘medio basso’ ha timore di GRASS e di SQL e cerca soluzioni
semplici rimanendo all’interno di QGIS, parlo per esperienza diretta.

Infine, la cosa interessante è la funzione ‘get_feature’ che permette di
richiamare altri layer presenti nel progetto.

ciao


View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293430.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.


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

/
Marco wrote

Nello specifico dell'esempio delle "shortest line" credo sia comunque
"giusto" segnalare anche che v.distance di GRASS fa esattamente le stesse
cose

/

Mi permetto di contraddirti: v.distance fa invece un'altra cosa,
precisamente confronta una shape puntuale con una lineare, e trova l'UNICO
punto e l'UNICA distanza più vicini fra i due layer.

Totò ha dimostrato che è possibile calcolare TUTTE le minime distanze di
TUTTI i punti rispetto alla linea.

Finora questo risultato l'ottenevo infittendo i nodi della shape lineare, e
calcolando la cosiddetta "Hub distance" col plugin MMQGIS, ma era comunque
un'approssimazione.

Avevo proposto la beatificazione di Don Turiddu già un anno fa, ma temo che
il Vaticano abbia procrastinato la faccenda a data da destinarsi...

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293564.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

Fermo restando che mi associo anch’io alla proposta di beatificazione di Totò e, ribadendo che con get_feature & C. si aprono nuove praterie per l’uso personalizzato di QGIS, però, a Cesare quel che è di Cesare, per quanto mi risulta, v.distance mi calcola tutte le minime distanze di tutti i punti rispetto alla linea (P.S. io faccio lavorare v.distance tramite il plugin GRASS in QGIS e non tramite PROCESS di QGIS …forse la differenza di risultato che si ottiene tra me e te potrebbe essere dovuta a ciò?).

···

Il giorno 31 ottobre 2016 10:14, AV <antoniovinci@wp.pl> ha scritto:

/
Marco wrote

Nello specifico dell’esempio delle “shortest line” credo sia comunque
“giusto” segnalare anche che v.distance di GRASS fa esattamente le stesse
cose

/

Mi permetto di contraddirti: v.distance fa invece un’altra cosa,
precisamente confronta una shape puntuale con una lineare, e trova l’UNICO
punto e l’UNICA distanza più vicini fra i due layer.

Totò ha dimostrato che è possibile calcolare TUTTE le minime distanze di
TUTTI i punti rispetto alla linea.

Finora questo risultato l’ottenevo infittendo i nodi della shape lineare, e
calcolando la cosiddetta “Hub distance” col plugin MMQGIS, ma era comunque
un’approssimazione.

Avevo proposto la beatificazione di Don Turiddu già un anno fa, ma temo che
il Vaticano abbia procrastinato la faccenda a data da destinarsi…


View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293564.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.


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

Il 31/10/2016 11:00, Marco Spaziani ha scritto:

Fermo restando che mi associo anch'io alla proposta di beatificazione di
Totò e, ribadendo che con get_feature & C. si aprono nuove praterie per
l'uso personalizzato di QGIS, però, a Cesare quel che è di Cesare, per
quanto mi risulta, v.distance mi calcola tutte le minime distanze di
tutti i punti rispetto alla linea (P.S. io faccio lavorare v.distance
tramite il plugin GRASS in QGIS e non tramite PROCESS di QGIS ...forse
la differenza di risultato che si ottiene tra me e te potrebbe essere
dovuta a ciò?).

Salve,
senza togliere niente a nessuno, uno dei grandi vantaggi dell'approccio
QGIS è che le stesse funzioni si possono usare anche in contesti del
tutto diversi. Ad es. si possono stilizzare i punti in funzione della
loro distanza da una linea, assegnargli un'etichetta con la misura,
ecc., e il tutto senza creare nuovi layers.
Curiosità mia: sapete di altri GIS che possono fare questo?
Saluti.
--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis

/
Marco wrote

io faccio lavorare v.distance tramite il plugin GRASS in QGIS e non
tramite PROCESS di QGIS ...forse la differenza di risultato che si ottiene
tra me e te potrebbe essere dovuta a ciò?)

/

Può darsi sicuramente :wink:

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293572.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

Il 31/10/2016 11:08, AV ha scritto:

/
Marco wrote

io faccio lavorare v.distance tramite il plugin GRASS in QGIS e non
tramite PROCESS di QGIS ...forse la differenza di risultato che si ottiene
tra me e te potrebbe essere dovuta a ciò?)

/

Può darsi sicuramente :wink:

se confermato, sarebbe un bug

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis

Relativamente a QGIS 2.14 LTR, in Processing, nelle funzioni di GRASS 7, v.distance proprio non c’è (c’è un v.net.distance, ma fa altre cose).

Sempre relativamente a QGIS 2.14 LTR, operando con il plugin di GRASS (e non può che essere GRASS 7, visto che nel mio PC c’è installato solo questa versione) v.distance invece compare e fa il suo dovere.

Nella precedente versione LTR di QGIS, la 2.8 LTR, in Processing si caricava di default la versione 6.4 di GRASS e in quel caso v.distance c’era e funzionava.
Le funzioni di GRASS 6 disponibili ora per Processing di QGIS 2.14 LTR non le conosco perchè non ho installato GRASS 6 sul mio PC e quindi non posso applicarlo a Processing.
Concludendo non credo sia un bug ma solo una “limitazione” e sono certo che se nelle funzioni di GRASS 7 disponibili in Processing di QGIS 2.14 LTR comparisse anche v.distance, questo funzionerebbe senza problemi (visto che, …stessa versione di QGIS, stessa macchina, stesso GRASS 7 caricato sul PC, stesso tutto, …se lancio v.distance dal plugin GRASS di QGIS, questo funziona tranquillamente).

···

Il giorno 31 ottobre 2016 11:12, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

Il 31/10/2016 11:08, AV ha scritto:

/
Marco wrote

io faccio lavorare v.distance tramite il plugin GRASS in QGIS e non
tramite PROCESS di QGIS …forse la differenza di risultato che si ottiene
tra me e te potrebbe essere dovuta a ciò?)

/

Può darsi sicuramente :wink:

se confermato, sarebbe un bug


Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis


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

/
Totò wrote

la cosa interessante è la funzione 'get_feature' che permette di
richiamare altri layer presenti nel progetto

/

Peccato che si possa considerare soltanto una feature di altri layer, ovvero
1 per volta.

Questo rende impossibile calcolare le distanze minime di N punti rispetto ad
M tronchi di un grafo stradale: mi confermi Don Turi'..?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293610.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

AV wrote/

Totò wrote

la cosa interessante è la funzione 'get_feature' che permette di
richiamare altri layer presenti nel progetto

/

Peccato che si possa considerare soltanto una feature di altri layer,
ovvero 1 per volta.

Questo rende impossibile calcolare le distanze minime di N punti rispetto
ad M tronchi di un grafo stradale: mi confermi Don Turi'..?

si,la funzione 'get_feature' richiama la prima feature del layer.
Ma con un semplice trucco è possibile calcolare anche le distanze riferite a
M tronchi di un grafo stradale:
per esempio creando un virtual layer dove unire tutti i tronchi e
richiamarlo con la funzione get_feature.

saluti

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Tutorial-QGIS-shortest-line-con-il-calcolatore-campi-tp5293274p5293617.html
Sent from the QGIS Italian User mailing list archive at Nabble.com.

On Mon, 31 Oct 2016 11:00:18 +0100
Marco Spaziani <spaziani.marco@gmail.com> wrote:

Fermo restando che mi associo anch'io alla proposta di beatificazione di
Totò e, ribadendo che con get_feature & C. si aprono nuove praterie per
l'uso personalizzato di QGIS, però, a Cesare quel che è di Cesare, per
quanto mi risulta, v.distance mi calcola tutte le minime distanze di tutti
i punti rispetto alla linea

e te li associa con gli id....
v.distance è una miniera!
Più scavi e più trovi roba :slight_smile:
m

--
Marco Guiducci <marco.guiducci@regione.toscana.it>
Firenze, via di Novoli 26
055 4383194