ST_ShiftLongitude — Verschiebt die Längenkoordinaten einer Geometrie zwischen -180..180 und 0..360.
geometry ST_ShiftLongitude(
geometry geom)
;
Liest jeden Punkt/Vertex in einer Geometrie und verschiebt seine Längenkoordinate von -180..0 auf 180..360 und umgekehrt, wenn sie zwischen diesen Bereichen liegt. Diese Funktion ist symmetrisch, so dass das Ergebnis eine 0..360-Darstellung von -180..180-Daten und eine -180..180-Darstellung von 0..360-Daten ist.
Dies ist nur für Daten mit Koordinaten in geografischer Länge/Breite nützlich, z. B. SRID 4326 (WGS 84 geografisch) |
Pre-1.3.4 Aufgrund eines Bugs funktionierte dies für MULTIPOINT nicht. Mit 1.3.4+ funktioniert es auch mit MULTIPOINT. |
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
Erweiterung: Mit 2.0.0 wurde die Unterstützung für polyedrische Oberflächen und TIN eingeführt.
Anmerkung: Vor 2.2.0 hieß diese Funktion "ST_Shift_Longitude"
Diese Funktion unterstützt polyedrische Flächen.
Diese Funktion unterstützt Dreiecke und dreieckige unregelmäßige Netzoberflächen (TIN).
--single point forward transformation SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(270 0)'::geometry)) st_astext ---------- POINT(-90 0) --single point reverse transformation SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(-90 0)'::geometry)) st_astext ---------- POINT(270 0) --for linestrings the functions affects only to the sufficient coordinates SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;LINESTRING(174 12, 182 13)'::geometry)) st_astext ---------- LINESTRING(174 12,-178 13)