Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_MAKEPOINT

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

功能描述

创建一个2D XY、3D XYZ 或 4D XYZM 的点几何对象。

语法格式

sql
GEOMETRY ST_MAKEPOINT(DOUBLE x, DOUBLE y);
GEOMETRY ST_MAKEPOINT(DOUBLE x, DOUBLE y, DOUBLE z);
GEOMETRY ST_MAKEPOINT(DOUBLE x, DOUBLE y, DOUBLE z, DOUBLE m);

参数说明

  • x: X 值。对于大地坐标,x 是经度。
  • y: Y 值。对于大地坐标,y 是纬度。
  • z: Z 值。
  • m: M 值。

函数返回类型

GEOMETRY类型

使用说明

  1. 使用 ST_MAKEPOINTM 来创建带有 XYM 坐标的点。
  2. 使用 ST_SETSRID 来为创建的点指定一个空间参考标识码(SRID)。
  3. ST_MAKEPOINT 比 ST_GEOMFROMTEXT 和 ST_POINTFROMTEXT 更快、更精确,也更容易用于数字坐标值。
  4. 使用函数 ST_POINT、ST_POINTZ、ST_POINTM 和 ST_POINTZM 来创建具有指定 SRID 的点。
  5. 该函数支持 3d 并且不会丢失 z-index。

示例

生成 SRID = 0 的点几何对象:

sql
SQL> SELECT ST_AsText(ST_MakePoint(-71.1043443253471, 42.3150676015829));

+-------------------------------------------+
|                   EXPR1                   |
+-------------------------------------------+
| POINT(-71.1043443253471 42.3150676015829) |
+-------------------------------------------+

使用 ST_SetSRID 来为创建的点指定一个空间参考标识码(SRID)。

生成 WGS84 地理坐标参考系统的点几何对象:

sql

SQL> SELECT st_asewkt(ST_SetSRID(ST_MakePoint(-71.1043443253471, 42.3150676015829),4326));

+-----------------------------------------------------+
|                        EXPR1                        |
+-----------------------------------------------------+
| SRID=4326;POINT(-71.1043443253471 42.3150676015829) |
+-----------------------------------------------------+

生成 3D 点几何对象,例如包含高度:

sql

SQL> SELECT ST_AsText(ST_MakePoint(1, 2,1.5));

+-------------------+
|       EXPR1       |
+-------------------+
| POINT Z (1 2 1.5) |
+-------------------+

获取 3D 点几何对象的 Z值:

sql

SELECT ST_Z(ST_MakePoint(1, 2,1.5));

+--------------+
|    EXPR1     |
+--------------+
| 1.500000e+00 |
+--------------+