名前

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でも動作します。

この関数は3次元に対応し、Z値を削除しません。

機能強化: 2.0.0では、多面体サーフェスとTINが導入されました。

この関数は多面体サーフェスに対応しています。

この関数は三角形と不整三角形網(TIN)に対応しています。

-- 3次元ポイント
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)

-- 普通のラインストリング
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