名前

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)
		

関連情報

ST_GeomFromEWKT, ST_GeomFromText, ST_AsEWKT