Name

ST_ShiftLongitude — Verschiebt die Längenkoordinaten einer Geometrie zwischen -180..180 und 0..360.

Synopsis

geometry ST_ShiftLongitude(geometry geom);

Beschreibung

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.

[Note]

Dies ist nur für Daten mit Koordinaten in geografischer Länge/Breite nützlich, z. B. SRID 4326 (WGS 84 geografisch)

[Warning]

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).

Beispiele

This example performs a forward longitude shift on a single point.

SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(270 0)'::geometry))
POINT(-90 0)

This example performs a reverse longitude shift on a single point.

SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(-90 0)'::geometry))
POINT(270 0)

This example shows that LineStrings are shifted only where coordinates require it.

SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;LINESTRING(174 12, 182 13)'::geometry))
LINESTRING(174 12,-178 13)

Siehe auch

ST_WrapX