【问题标题】:Reverse coordinates in PostgreSQL polygon columnPostgreSQL多边形列中的反向坐标
【发布时间】:2021-05-14 18:32:53
【问题描述】:

我有一个 PostgreSQL 11 表,其中包含一个 POLYGON 列,目前大约有 100 行,每个多边形有 3 到大约 15 个角点。现在事实证明,我错误地使用颠倒的 X 和 Y 坐标创建了我的数据。所以我现在想交换坐标来纠正这个错误。

最小的工作示例:

CREATE TABLE geom_example (shape POLYGON);
INSERT INTO geom_example (shape) VALUES ('(1, 2), (5, 2), (1, 3)');

我想反转坐标,这样

(1, 2), (5, 2), (1, 3)

变成:

(2, 1), (2, 5), (3, 1)

表的所有行。

有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: postgresql polygon


    【解决方案1】:

    使用ST_SwapOrdinates,它就是为此而生的:

    SELECT ST_AsText(
              ST_SwapOrdinates(
                 'POLYGON((1 2,5 2,1 3,1 2))'::geometry,
                 'xy'
              )
           );
    
             st_astext          
    ════════════════════════════
     POLYGON((2 1,2 5,3 1,2 1))
    (1 row)
    

    【讨论】:

      猜你喜欢
      • 2021-09-24
      • 1970-01-01
      • 2017-11-04
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      相关资源
      最近更新 更多