如何解决PostgreSQL 多边形列中的反向坐标
我有一个 Postgresql 11 表,其中包含一个 polyGON 列,目前大约有 100 行,每个多边形有 3 到 15 个角点。现在事实证明我错误地创建了具有反向 X 和 Y 坐标的数据。所以我现在想交换坐标来纠正这个错误。
最小工作示例:
CREATE TABLE geom_example (shape polyGON);
INSERT INTO geom_example (shape) VALUES ('(1,2),(5,(1,3)');
我想反转坐标以便
(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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。