【问题标题】:Double double precision in PostGis in PostgresqlPostgresql中PostGis中的双精度
【发布时间】:2014-03-14 11:11:50
【问题描述】:

这是我的 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 中需要双精度。我该如何解决?

【问题讨论】:

  • 你需要双双精度!你在做什么,定位夸克?
  • 引用 this:“小数点后 13 位将确定位置为 111,111/10^13 = 大约 1 埃,大约是小原子厚度的一半。”

标签: postgresql postgis precision


【解决方案1】:

那个已经是双精度的了。单精度坐标将在小数点后六位进行修剪,而双精度坐标将提供15 digits of precision。您正在尝试设置一个小数点后 18 位的点。

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

【讨论】:

  • 好吧,OP 要求“双倍”,意思是四倍精度浮点数(IEEE 754 中的 128 位浮点数)或类似的东西。
猜你喜欢
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
相关资源
最近更新 更多