Définir la précision

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Définir la précision

qxzhou
Bonjour,

Est-ce qu'il y a une façon pour définir/extraire la précision des résultats.
Par exemple:
Quand j'exécute la fonction: st_length(the_geom)
Il me donne le résultat: 41.43763837115177
Mais j'ai besoin que de trois chiffres après le point.

Merci à l'avance.

Cordialement,
Qingxiao
Reply | Threaded
Open this post in threaded view
|

Re: Définir la précision

qxzhou
J'ai juste vu le post de Quentin.
Donc il n'y a pas encore de fonction round() ...
Et d'autre façons peut-être?
Reply | Threaded
Open this post in threaded view
|

Re: Définir la précision

Gwendall Petit
Administrator
Bonjour Qingxiao,

Effectivement, la fonction ROUND n'est pas encore implémentée dans OrbisGIS.

En attendant je te propose cette astuce, qui n'est pas parfaite mais qui fonctionne :
ALTER TABLE my_table ADD COLUMN length_round DOUBLE;
UPDATE my_table SET length_round = ((length*1000) :: integer)/1000;
Ici "length" est le nom du champ que tu souhaites arrondir.
Dans cette configuration on arrondi à 3 chiffres après la virgule.

Tu verras que pour certaines lignes, des valeurs comme 523,2360000000001 sont présentes. Ceci est un problème lié au DOUBLE et non à OrbisGIS et pour l'instant nous ne savons pas comment corriger l'affichage de ces valeurs.

Cordilament,

Gwendall