ローカル軸を中心にジオメトリを回転しようとしましたが、方法が見つかりませんでした。私は(https://postgis.net/docs/ST_RotateX.htmlを参照してください)2次元計算のためとST_RotateX
(特に)(https://postgis.net/docs/ST_Rotate.htmlを参照)ST_Rotate
があることを知っているが、これらの方法では、原点を中心にジオメトリを回転させます。私は変更しようとしたとき、私はまた、原点(すなわち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の非常に基本的な方法を、ローカル軸の1つの周りでジオメトリを回転させるのに欠けていますか? ST_Affine
へ
をどのようにして、「ローカル軸」、すなわち、関心のジオメトリのあなたのセットに「ローカル」、またはグリッド(SRS)軸を定義していますか?元の場合は、関心のあるジオメトリの集合の中心をどのように決定しますか? –