ST_SHIFTLONGITUDE
📄字数 634
👁️阅读量 加载中...
功能描述
读取几何图形的所有点/顶点,将 -180 到 0 度范围内的经度值移动到 180 到 360 度,或将 180 到 360 度范围内的经度值移动到 -180 到 0 度。
语法格式
sql
GEOMETRY ST_SHIFTLONGITUDE(GEOMETRY geom);参数说明
- geom:目标 GEOMETRY 对象。
函数返回类型
GEOMETRY 类型
使用说明
- 该函数是对称的,-180到180度范围内的数据用0到360度范围来表示,0到360度范围内的数据用-180到180度范围来表示。
- 对具有经度坐标的数据有用; 例如 SRID 4326(WGS 84 地理坐标系)。
- 该函数支持 3d 并且不会丢失 z-index。
- 该函数支持多面体曲面。
- 该函数支持三角形和不规则三角网面 (TIN)。
示例
单点,经度0到360度转-180到180度:
sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_SHIFTLONGITUDE('SRID=4326;POINT(270 0)'::GEOMETRY)));
+--------------+
| EXPR1 |
+--------------+
| POINT(-90 0) |
+--------------+单点,经度-180到180度转0到360度:
sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_SHIFTLONGITUDE('SRID=4326;POINT(-90 0)'::GEOMETRY)));
+--------------+
| EXPR1 |
+--------------+
| POINT(270 0) |
+--------------+线串,仅作用于满足条件的经度坐标:
sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_SHIFTLONGITUDE('SRID=4326;LINESTRING(174 12, 182 182)'::GEOMETRY)));
+-----------------------------+
| EXPR1 |
+-----------------------------+
| LINESTRING(174 12,-178 182) |
+-----------------------------+