ST_ShiftLongitude — 経度座標値を-180度から 180度の範囲と 0度から 360度の範囲との二つの範囲を行き来するようシフトします。
geometry ST_ShiftLongitude(geometry geom);
ジオメトリーの全てのポイント/頂点を読み、経度値が-180度から 0度の範囲にあるのを180度から 360度の範囲にシフトして、180度から 360度の範囲にあるのを-180度から 0度の範囲にシフトします。この関数は対称となりますので、-180度から 180度の範囲のデータを 0度から 360度の範囲の表現にし、0度から 360度の範囲のデータを-180度から180度の範囲の表現にします。
|
|
|
この関数は、SRID 436 (WGS84地理座標系) のような緯度経度の座標値を持つデータの場合に限って使います。 |
|
|
|
1.3.4より前では MULTIPOINT では動作しないバグがありました。1.3.4以上ではMULTIPOINT でも動作します。 |
この関数は3次元に対応し、Z値を削除しません。
Enhanced: 2.0.0 多面体サーフェス対応と TIN 対応が導入されました。
ご注意: この関数は 2.0.0で"ST_Shift_Longitude"から名称変更しました。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN) に対応しています。
この例では一つのポイントを順方向に (180°~360°を-180°~0°に) シフトします。
SELECT ST_ShiftLongitude('SRID=4326;POINT(270 0)'::geometry)
POINT(-90 0)
この例では一つのポイントを逆方向に (-180°~0°から 180°~360°に) シフトします。
SELECT ST_ShiftLongitude('SRID=4326;POINT(-90 0)'::geometry)
POINT(270 0)
この例では LINESTRING のうち必要な箇所のみをシフトさせています。
SELECT ST_ShiftLongitude('SRID=4326;LINESTRING(174 12,182 13)'::geometry)
LINESTRING(174 12,-178 13)