ST_Shift_Longitude — ジオメトリの全てのフィーチャーの全ての構成要素の全てのポイント/バーテックを読み,経度が0未満なら360を足します.結果は,180度を中心としたマップにプロットされる0度から360度にあるデータとなります.
geometry ST_Shift_Longitude(geometry geomA);
ジオメトリの全てのフィーチャーの全ての構成要素の全てのポイント/バーテックを読み,経度が0未満なら360を足します.結果は,180度を中心としたマップにプロットされる0度から360度にあるデータとなります.
![]() | |
これは4326(WGS84経度緯度)のように経度緯度でのみ動作します. |
1.3.4より前ではMULTIPOINTでは動作しないバグがありました.1.3.4以上ではMULTIPOINTでも動作します.
この関数は三次元をサポートします.Zインデクスを削除しません.
--3d points
SELECT ST_AsEWKT(ST_Shift_Longitude(ST_GeomFromEWKT('SRID=4326;POINT(-118.58 38.38 10)'))) As geomA,
ST_AsEWKT(ST_Shift_Longitude(ST_GeomFromEWKT('SRID=4326;POINT(241.42 38.38 10)'))) As geomb
geomA geomB
---------- -----------
SRID=4326;POINT(241.42 38.38 10) SRID=4326;POINT(-118.58 38.38 10)
--regular line string
SELECT ST_AsText(ST_Shift_Longitude(ST_GeomFromText('LINESTRING(-118.58 38.38, -118.20 38.45)')))
st_astext
----------
LINESTRING(241.42 38.38,241.8 38.45)