Ich habe versucht, eine Geometrie um ihre lokale Achse zu drehen, habe aber keinen Weg gefunden, dies zu tun. Ich weiß, dass es ST_Rotate
(siehe https://postgis.net/docs/ST_Rotate.html) für 2D-Berechnungen und (unter anderem) ST_RotateX
(siehe https://postgis.net/docs/ST_RotateX.html) gibt, aber diese Methoden drehen eine Geometrie um den Ursprung. Ich habe auch versucht ST_Affine
zu missbrauchen, wenn ich zu ändern versucht, die Herkunft (was zu sein scheint) (nämlich 0/0/0):Drehen Sie die Geometrie um ihre lokale Achse
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)))
)
Es nicht geklappt hat - alles, was ich bekam, war etwas, das Art und Weise war weg vom beabsichtigten Standort. Vermisse ich eine sehr grundlegende Methode von PostGIS, um eine Geometrie um eine ihrer lokalen Achsen zu rotieren?
Wie definieren Sie "lokale Achse", das heißt "local" zu Ihrem Satz von Geometrien von Interesse oder das Gitter (SRS) Achse? Wenn früher, wie würden Sie das Zentrum Ihrer Menge interessierender Geometrien bestimmen? –