[QGIS-it-user] Digest di QGIS-it-user, Volume 73, Numero 6

Grazie Andrea, grazie Marco
Oggi ho imparato una cosa nuova.
Saluti
Paolo Venturelli

Il mer 10 nov 2021, 21:01 <qgis-it-user-request@lists.osgeo.org> ha scritto:

Invia le richieste di iscrizione alla lista QGIS-it-user all’indirizzo
qgis-it-user@lists.osgeo.org

Per iscriverti o cancellarti attraverso il web, visita
https://lists.osgeo.org/mailman/listinfo/qgis-it-user
oppure, via email, manda un messaggio con oggetto `help’ all’indirizzo
qgis-it-user-request@lists.osgeo.org

Puoi contattare la persona che gestisce la lista all’indirizzo
qgis-it-user-owner@lists.osgeo.org

Se rispondi a questo messaggio, per favore edita la linea dell’oggetto
in modo che sia più utile di un semplice “Re: Contenuti del digest
della lista QGIS-it-user…”

Argomenti del Giorno:

  1. Re: QGIS “arrotonda” io valori (Marco Guiducci)
  2. Re: QGIS “arrotonda” io valori (Marco Guiducci)
  3. Re: QGIS “arrotonda” io valori (Andrea Giudiceandrea)

Message: 1
Date: Wed, 10 Nov 2021 13:56:08 +0100
From: Marco Guiducci <marco.guiducci@regione.toscana.it>
To: qgis-it-user@lists.osgeo.org
Subject: Re: [QGIS-it-user] QGIS “arrotonda” io valori
Message-ID: <964ee50f-83df-760c-9768-221f171ed3ab@regione.toscana.it>
Content-Type: text/plain; charset=utf-8; format=flowed

succede che nel pc i numeri vengono convertiti in numeri a notazione
binaria cioè in base 2 (0 1).
non tutti i numeri (cioè pochi!) appartenenti al campo dei numeri reali
possono essere espressi in notazione binaria.
il numero sarà rappresentato “bene” se è una potenza di due.
in special modo, quindi, i numeri in virgola mobile e sarebbe qui lungo
scrivere come si rappresenta in binario un tale numero (cerca sul web).
il numero memorizzato sarà quindi il numero binario più vicino al numero
in bse 10.
mg

Il 10/11/2021 12:38, Paolo Venturelli ha scritto:

Buongiorno, ho (forse) definito i limiti del mio problema ad uno shp
(che allego).
Se inserisco un nuovo punto, ed inserisco 10.1 nel campo ELEVATION,
tutto OK e mi trovo 10,100000000000000, ma se metto 10.2, mi
trovo 10,199999999999999
con 10.3 trovo 10,300000000000001, con 10.4 trovo 10,400000000000000,
con 10.5 trovo 10,500000000000000, con 10.6 trovo 10,600000000000000
invece con 10.7 trovo 10,699999999999999.
mi piacerebbe capire cosa succede
Grazie a chi saprà aiutarmi

Il giorno mer 10 nov 2021 alle ore 11:54 Paolo Venturelli
<venturelli.paolo@gmail.com mailto:[venturelli.paolo@gmail.com](mailto:venturelli.paolo@gmail.com)> ha
scritto:

Buongiorno, su QGIS 3.22.0 WIN 10 Pro, inserisco i valori
manualmente in un campo e mi ritrovo in tabella un valore
leggermente diverso: tipo inserisco 10 e mi ritrovo 10.000000000324.
anche per la scala di rappresentazione, io metto 2000 e mi ritrovo
2000.0000000000000421
Qualcuno riesce ad aiutarmi a capire cosa stia succedendo.
Grazie in anticipo
Paolo Venturelli

===
Avvertenza: Gli allegati ricevuti sono scansionati automaticamente per
la ricerca di software malevolo. Nel caso di file o archivi protetti
da password potrebbe non essere possibile analizzarne correttamente il
contenuto. Si invita, pertanto, ad adottare le cautele previste dalle
norme sull’utilizzo della postazione di lavoro.


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


Marco Guiducci - 055 4383194
SITA - Sistema informativo territoriale e ambientale
Regione Toscana - Via di Novoli 26 - 50127 Firenze


Message: 2
Date: Wed, 10 Nov 2021 14:05:48 +0100
From: Marco Guiducci <marco.guiducci@regione.toscana.it>
To: qgis-it-user@lists.osgeo.org
Subject: Re: [QGIS-it-user] QGIS “arrotonda” io valori
Message-ID: <863833e0-f1d8-5834-446b-fee44017fcd2@regione.toscana.it>
Content-Type: text/plain; charset=iso-8859-15; format=flowed

"il numero sarà rappresentato “bene” se è una potenza di due. " ho
semplificato un po’ troppo :slight_smile: (somma di numeri…)
mg

Il 10/11/2021 13:56, Marco Guiducci ha scritto:

succede che nel pc i numeri vengono convertiti in numeri a notazione
binaria cioè in base 2 (0 1).
non tutti i numeri (cioè pochi!) appartenenti al campo dei numeri
reali possono essere espressi in notazione binaria.
il numero sarà rappresentato “bene” se è una potenza di due.
in special modo, quindi, i numeri in virgola mobile e sarebbe qui
lungo scrivere come si rappresenta in binario un tale numero (cerca
sul web). il numero memorizzato sarà quindi il numero binario più
vicino al numero in bse 10.
mg

Il 10/11/2021 12:38, Paolo Venturelli ha scritto:

Buongiorno, ho (forse) definito i limiti del mio problema ad uno shp
(che allego).
Se inserisco un nuovo punto, ed inserisco 10.1 nel campo ELEVATION,
tutto OK e mi trovo 10,100000000000000, ma se metto 10.2, mi
trovo 10,199999999999999
con 10.3 trovo 10,300000000000001, con 10.4 trovo 10,400000000000000,
con 10.5 trovo 10,500000000000000, con 10.6 trovo 10,600000000000000
invece con 10.7 trovo 10,699999999999999.
mi piacerebbe capire cosa succede
Grazie a chi saprà aiutarmi

Il giorno mer 10 nov 2021 alle ore 11:54 Paolo Venturelli
<venturelli.paolo@gmail.com mailto:[venturelli.paolo@gmail.com](mailto:venturelli.paolo@gmail.com)> ha
scritto:

Buongiorno, su QGIS 3.22.0 WIN 10 Pro, inserisco i valori
manualmente in un campo e mi ritrovo in tabella un valore
leggermente diverso: tipo inserisco 10 e mi ritrovo 10.000000000324.
anche per la scala di rappresentazione, io metto 2000 e mi ritrovo
2000.0000000000000421
Qualcuno riesce ad aiutarmi a capire cosa stia succedendo.
Grazie in anticipo
Paolo Venturelli

===
Avvertenza: Gli allegati ricevuti sono scansionati automaticamente
per la ricerca di software malevolo. Nel caso di file o archivi
protetti da password potrebbe non essere possibile analizzarne
correttamente il contenuto. Si invita, pertanto, ad adottare le
cautele previste dalle norme sull’utilizzo della postazione di lavoro.


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


Marco Guiducci - 055 4383194
SITA - Sistema informativo territoriale e ambientale
Regione Toscana - Via di Novoli 26 - 50127 Firenze


Message: 3
Date: Wed, 10 Nov 2021 14:07:54 +0100
From: Andrea Giudiceandrea <andreaerdna@libero.it>
To: qgis-it-user@lists.osgeo.org
Subject: Re: [QGIS-it-user] QGIS “arrotonda” io valori
Message-ID: <cea26aa0-cb57-a720-c85c-8f8a4bd868ce@libero.it>
Content-Type: text/plain; charset=utf-8; format=flowed

Ciao Paolo,
il campo con cui hai problemi nell’inserimento di valori decimali (ma,
suppongo, non con quelli interi, come inizialmente avevi scritto) è un
campo in cui è stato impostato il valore 15 come numero di cifre a
destra della virgola: tale numero di cifre decimali è oltre il limite
delle possibilità di rappresentazione univoca dei numeri in virgola
mobile a 64 bit tipico dei computer (standard IEEE754) se ci sono anche
2 cifre a sinistra della virgola da dover rappresentare.

Per esempio il numero decimale 10,1 è rappresentabile in virgola mobile
IEEE754 a 64 bit come il numero esadecimale 0x4024333333333333.

Tuttavia il numero esadecimale IEEE754 a 64 bit 0x4024333333333333 non
rappresenta solo il valore decimale 10,1 ma anche tutti i valori
decimali tra circa 10,0999999999999989 e circa 10,1000000000000005

La più accurata rappresentazione di tale numero esadecimale corrisponde
al valore decimale 10,0999999999999996447286321… che, arrotondato a 15
cifre decimali, corrisponde a 10,1

Invece il numero decimale 10,2 è rappresentabile in virgola mobile
IEEE754 a 64 bit come il numero esadecimale 0x4024666666666666.

La più accurata rappresentazione di tale numero esadecimale corrisponde
al valore decimale 10,1999999999999992894572642… che, arrotondato a 15
cifre decimali, corrisponde a 10,199999999999999.

Per 10,3 → 0x402499999999999A → 10,3000000000000007105427357… →
10,300000000000001

Quindi, il problema è dovuto alla intrinseca limitazione dei numeri in
virgola mobile a 64 bit e al fatto che è stato impostato inutilmente un
valore di 15 cifre decimali.

Impostando un valore inferiore e più adeguato di cifre decimali, per
esempio 3, il problema non si verifica.

Spero di essere stato chiaro.

Ti consiglio di consultare alcune risorse sull’argomento:
https://en.wikipedia.org/wiki/Floating-point_arithmetic
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
https://docs.python.org/3/tutorial/floatingpoint.html
https://blog.demofox.org/2017/11/21/floating-point-precision/

Il 10/11/2021 12:38, Paolo Venturelli ha scritto:

Buongiorno, ho (forse) definito i limiti del mio problema ad uno shp
(che allego).
Se inserisco un nuovo punto, ed inserisco 10.1 nel campo ELEVATION,
tutto OK e mi trovo 10,100000000000000, ma se metto 10.2, mi
trovo 10,199999999999999


Subject: Chiusura del digest


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


Fine di Digest di QGIS-it-user, Volume 73, Numero 6