名称

ST_ShiftLongitude — 将几何体的经度坐标在 -180..180 和 0..360 之间转换。

概要

geometry ST_ShiftLongitude(geometry geom);

描述

读取几何体中的每个点/顶点,并将它的经度坐标从 -180..0 转换为 180..360,反之亦然,如果它在这两个范围之间。此函数是对称的,因此结果是 -180..180 数据的 0..360 表示形式,以及 0..360 数据的 -180..180 表示形式。

[Note]

这仅对具有经度/纬度坐标的数据有用;例如 SRID 4326(WGS 84 地理坐标系)。

[Warning]

1.3.4 之前的版本存在 bug,导致此函数无法用于 MULTIPOINT。1.3.4 及更高版本支持 MULTIPOINT。

此函数支持 3D,不会删除 z 索引。

增强功能:2.0.0 引入了对多面体曲面和 TIN 的支持。

注意:此函数在 2.2.0 中从“ST_Shift_Longitude”重命名。

此函数支持多面体曲面。

此函数支持三角形和三角不规则网络曲面 (TIN)。

示例

--single point forward transformation
SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(270 0)'::geometry))

st_astext
----------
POINT(-90 0)


--single point reverse transformation
SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;POINT(-90 0)'::geometry))

st_astext
----------
POINT(270 0)


--for linestrings the functions affects only to the sufficient coordinates
SELECT ST_AsText(ST_ShiftLongitude('SRID=4326;LINESTRING(174 12, 182 13)'::geometry))

st_astext
----------
LINESTRING(174 12,-178 13)
        

另请参阅

ST_WrapX