Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_SHIFTLONGITUDE

📄字数 634
👁️阅读量 加载中...

功能描述

读取几何图形的所有点/顶点,将 -180 到 0 度范围内的经度值移动到 180 到 360 度,或将 180 到 360 度范围内的经度值移动到 -180 到 0 度。

语法格式

sql
GEOMETRY ST_SHIFTLONGITUDE(GEOMETRY geom);

参数说明

  • geom:目标 GEOMETRY 对象。

函数返回类型

GEOMETRY 类型

使用说明

  1. 该函数是对称的,-180到180度范围内的数据用0到360度范围来表示,0到360度范围内的数据用-180到180度范围来表示。
  2. 对具有经度坐标的数据有用; 例如 SRID 4326(WGS 84 地理坐标系)。
  3. 该函数支持 3d 并且不会丢失 z-index。
  4. 该函数支持多面体曲面。
  5. 该函数支持三角形和不规则三角网面 (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) |
+-----------------------------+