PostgreSQL 多边形列中的反向坐标

罗伯特

我有一个 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)

对于表的所有行。

有没有简单的方法来实现这一点?

劳伦兹·阿尔伯

使用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)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章