【发布时间】:2017-05-03 14:36:57
【问题描述】:
我尝试围绕其局部轴旋转几何图形,但没有找到这样做的方法。我知道有ST_Rotate(见https://postgis.net/docs/ST_Rotate.html)用于2D 计算和(除其他外)ST_RotateX(见https://postgis.net/docs/ST_RotateX.html),但这些方法围绕原点旋转几何。当我试图更改(似乎是)原点(即 0/0/0)时,我还试图滥用 ST_Affine:
SELECT ST_Affine(
ST_GeomFromText(ST_AsText(runway_area)),
1, 0, 0, 0,
cos(rotRadians), -sin(rotRadians), 0, sin(rotRadians), cos(rotRadians),
--- use the geometry's centroid instead of 0, 0, 0
ST_X(ST_GeomFromText(ST_AsText(runway_area))), ST_Y(ST_GeomFromText(ST_AsText(runway_area))), ST_Z(ST_GeomFromText(ST_AsText(runway_area)))
)
它没有成功 - 我得到的只是远离预定位置的东西。我是否错过了 PostGIS 的一种非常基本的方法来围绕其局部轴旋转几何?
【问题讨论】:
-
您如何定义“局部轴”,即您感兴趣的几何图形集或网格 (SRS) 轴的“局部”?如果是前者,您将如何确定您感兴趣的几何图形集的中心?
标签: postgresql gis postgis