[QGIS-it-user] QGIS line_interpolate_point con EPSG 4326

Totò pigrecoinfinito a gmail.com
Mar 4 Set 2018 04:59:11 PDT


Totò wrote
> Ciao lista,
> ho notato che la funzione line_interpolate_point non lavora come mi
> aspetterei se la geometry è in EPSG 4326; con geometry proiettate
> funziona.
> 
> allego [0] uno shapefile linestring in EPSG 4326 e vi chiedo di fare la
> seguente prova:
> aggiungere un campo testuale -lungo 80 e popolatelo con la seguente
> espressione:
> 
> geom_to_wkt( line_interpolate_point( $geometry, $length/2) ) 
> 
> poi esportate in csv per verificare i punti.

Nonostante tutto descrivo la soluzione del problema.

Nyall ha osservato, giustamente, che la funzione $length dipende dalle
impostazioni di progetto, se tali impostazioni vengono lasciate di default
la $length restituirà sempre un valore in metri (nel caso mio converte la
lunghezza in metri); questo è il motivo per cui la mia espressione non
funzionava.

Soluzione proposta da Nyall usare la seguente espressione

line_interpolate_point( $geometry, length($geometry)/2);

oppure, aggiungo io, usare sempre la prima espressione
line_interpolate_point( $geometry, $length/2)
e modificare le impostazioni di progetto, nel caso specifico:
1. usare None/Planimetrico nell'ellissoide
2. gradi nell'unità per il calcolo delle lunghezze

saluti



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


Maggiori informazioni sulla lista QGIS-it-user