Ciao Toto', ho fatto questa verifica : nella Tabella dello Shape File, *ho creato due nuovi campi* :
len_iv_1 : length($geometry) --- > 126671,70939386162 len_iv_2 : $length --- > 126721,31029232376 *Definizioni: * $length Restituisce la lunghezza di una stringa di linee. Se hai bisogno della lunghezza di un bordo di un poligono, usa invece $perimetro. La lunghezza calcolata da questa funzione rispetta sia l'impostazione dell'ellissoide del progetto corrente che le impostazioni dell'unità di distanza. Per esempio, se è stato impostato un ellissoide per il progetto, allora la lunghezza calcolata sarà ellissoidale, e se non è impostato alcun ellissoide, allora la lunghezza calcolata sarà planimetrica. length($geometry) Calcola la lunghezza di un oggetto geometria linea. I calcoli sono sempre planimetrici nel Sistema di Riferimento Spaziale (SRS) di questa geometria, e le unità della lunghezza restituita corrisponderanno alle unità dell'SR. Questo differisce dai calcoli eseguiti dalla funzione $length, che eseguirà calcoli ellissoidali basati sulle impostazioni di ellissoide e unità di distanza del progetto. *Mentre con le espressioni, si hanno i seguenti risultati :* aggregate( layer:='testOne', aggregate:='array_agg', expression:=$length) [0] 126671,70939386162 aggregate( layer:='testOne', aggregate:='array_agg', expression:=length($geometry)) 126671,70939386162 *Caricando il file in DB Sqlite :* SELECT ST_Length(geometry) AS length FROM testOne; il risultato è : 126671,70939386162 Quindi la differenza del valore restituito, sta applicando la funzione $length nello shape . Ivano Il giorno mar 19 dic 2023 alle ore 08:14 Totò Fiandaca via QGIS-it-user < qgis-it-user@lists.osgeo.org> ha scritto: > Buongiorno, > scrivo solo per capire se è un comportamento voluto o è un bug quanto in > oggetto. > > descrizione problema: > ho un layer lineare (testOne) e una tabella (tableOne) senza geometria, > avvio il *field calc* dalla tabella e scrivo la seguente espressione, per > aggiornare l'attributo *len*: > > 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. > > PS. il progetto è impostato correttamente con ellissoide, ovvero siamo al > corrente che:'La lunghezza calcolata da questa funzione rispetta sia > l'impostazione dell'ellissoide del progetto corrente che le impostazioni > dell'unità di distanza' > > Allego dati e progetto di esempio. > > Testato sia su QGIS 3.28.13 LTR Firenze che su QGIS 3.34.1 Prizren da > OSGeo4W - win 10 PRO 64b > > saluti > > https://mega.nz/file/pFQnkYxJ#3zNJR0rzH-a4opip3rgkbJoLrRUlNu7-vwXeiUra_Hs > > -- > *Ing. Salvatore Fiandaca* > *mobile*.:+39 327.493.8955 > *m*: *pigrecoinfin...@gmail.com <pigrecoinfin...@gmail.com>* > *C.F*.: FNDSVT71E29Z103G > *P.IVA*: 06597870820 > *membro QGIS Italia - http://qgis.it/ <http://qgis.it/>* > *socio GFOSS.it - *http://gfoss.it/ > *member OSGeo* - *https://www.osgeo.org/member/fiandaca/* > <https://www.osgeo.org/member/fiandaca/> > *blog:* > * https://pigrecoinfinito.com/ <https://pigrecoinfinito.com/> FB: Co-admin > - https://www.facebook.com/qgis.it/ <https://www.facebook.com/qgis.it/>** > <https://www.facebook.com/qgis.it/> * > *TW: <http://goog_95411464>**https://twitter.com/totofiandaca > <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. > > > _______________________________________________ > QGIS-it-user mailing list > QGIS-it-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/qgis-it-user >
_______________________________________________ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user