Postgresql中PostGis的双精度加倍

时间:2014-03-14 11:11:50

标签: postgresql postgis precision

这是我的SQL:

    SELECT st_asText(ST_GeomFromText('POINT(52.000000000012345678 21.0000000000123456789)'))
    SELECT st_asText(ST_MakePoint(52.000000000012345678, 21.0000000000123456789))

但回应是:

    POINT(52.0000000000123 21.0000000000123)

我需要在PostGis中使用双倍精度。我该如何解决?

1 个答案:

答案 0 :(得分:3)

已经是双精度。单精度坐标将在第六个小数之后修剪,而double提供15 digits of precision。您试图设置一个包含18个小数位的点。

另外需要注意的是,double可以容纳的小数位数取决于小数点分隔符左侧的数字。 (see OSGeo rants abot that)所以你使用两位数作为整数部分(52和21),你还剩13个数字,这正是你在响应中得到的。< / p>