[QGIS-it-user] La funzione $length restituisci il valore cartesiano se richiamata dalla funzione aggregate

Il 19/12/2023 09:26, Ivano Giuliano via QGIS-it-user ha scritto:

Ciao Toto', ho fatto questa verifica :

Quindi la differenza del valore restituito, sta applicando la funzione $length nello shape .

Ciao Ivano,
grazie per le prove effettuate. Non ho capito però cosa se ne dovrebbe dedurre relativamente al fatto che la funzione "$length" (e suppongo anche $area e $perimeter), quando usata all'interno della funzione "aggregate", si comporta diversamente da come ci si aspetterebbe.

Il giorno mar 19 dic 2023 alle ore 08:14 Totò Fiandaca via QGIS-it-user ha scritto:
> aggregate(
> layer:='testOne',
> aggregate:='array_agg',
> expression:=$length) [0]
>
> il risultato (/126671,709 m/) è diverso da quello che mi aspetterei
> (/126721.310 m/) , in quanto restituisce il valore cartesiano di
> /$length/ e non quello ellissoidico, infatti se usassi $length nel
> vettore testOne otterrei il valore desiderato.

Ciao Salvatore,
penso che si tratti di un bug, suppongo molto probabilmente dovuto al fatto che quando viene valutata la funzione aggregate essa non "passa" al motore di valutazione dell'espressione (e suppongo anche al filtro) le informazioni relative al CRS del layer e all'ellissoide impostato per progetto che sono necessarie affinché la funzione $length possa calcolare la lunghezza ellissoidica invece che quella planimetrica/cartesiana.

Il 19/12/2023 10:19, Stefano Campus via QGIS-it-user ha scritto:
> ovviamente la lunghezza è /ellissoidica /e non /ellissoidale/.
> ho corretto la traduzione.

Ciao Stefano,
grazie. Mi pare che anche la prima frase contenga dei problemi:

Restituisce la lunghezza di una stringa di linee. Se hai bisogno della lunghezza di un bordo di un poligono, usa invece $perimetro.

Vedi per esempio: "stringa di linee" (che non ha significato) e "$perimetro" (che non esiste).

Vedo anche che per la funzione "length" sono indicati

"Variabile Operatori stringa"
"Variabile geometria"

che però non mi pare corrispondano al significato di "String variant" e "Geometry variant".

Inoltre riscontro spesso le incongruenze tra i nomi degli algoritmi di processing in QGIS e i nomi degli stessi algoritmi di processing indicati nella documentazione.

A presto.

Andrea

Grazie a tutti per il veloce riscontro.

ho aperto issue:

https://github.com/qgis/QGIS/issues/55657

saluti

···

Ing. Salvatore Fiandaca
mobile.:+39 327.493.8955
m: pigrecoinfinito@gmail.com
C.F.: FNDSVT71E29Z103G
P.IVA: 06597870820
membro QGIS Italia - http://qgis.it/
socio GFOSS.it - http://gfoss.it/
member OSGeo - https://www.osgeo.org/member/fiandaca/
blog:**** https://pigrecoinfinito.com/
FB: Co-admin - https://www.facebook.com/qgis.it/****
TW: ****https://twitter.com/totofiandaca

43°51’0.54"N 10°34’27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario in relazione alle finalità per le quali è stato ricevuto. E’ vietata qualsiasi forma di riproduzione o divulgazione senza l’esplicito consenso di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di informare tempestivamente il mittente e distruggere la copia in proprio possesso.