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类型
使用说明
- 使用 ST_MAKEPOINTM 来创建带有 XYM 坐标的点。
- 使用 ST_SETSRID 来为创建的点指定一个空间参考标识码(SRID)。
- ST_MAKEPOINT 比 ST_GEOMFROMTEXT 和 ST_POINTFROMTEXT 更快、更精确,也更容易用于数字坐标值。
- 使用函数 ST_POINT、ST_POINTZ、ST_POINTM 和 ST_POINTZM 来创建具有指定 SRID 的点。
- 该函数支持 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 |
+--------------+