ST_POINT
📄字数 852
👁️阅读量 加载中...
功能描述
使用给定的 X 和 Y 坐标值构造 POINT 对象。 这是 ST_MAKEPOINT 的 SQL-MM 等效项,仅采用 X 和 Y。
语法格式
sql
GEOMETRY ST_POINT(DOUBLE x, DOUBLE y);
GEOMETRY ST_POINT(DOUBLE x, DOUBLE y, INTEGER srid);参数说明
- x: X 值。对于大地坐标,x 是经度。
- y: Y 值。对于大地坐标,y 是纬度。
- srid: 空间参考系统ID,可使用 ST_SETSRID 在几何体上标记 SRID。
函数返回类型
GEOMETRY类型
示例
示例:几何
sql
SQL> SELECT ST_AsText(ST_POINT( -71.104, 42.315));
+-----------------------+
| EXPR1 |
+-----------------------+
| POINT(-71.104 42.315) |
+-----------------------+创建一个指定了SRID的点:
sql
SQL> SELECT ST_ASEWKT(ST_POINT( -71.104, 42.315, 4326));
+---------------------------------+
| EXPR1 |
+---------------------------------+
| SRID=4326;POINT(-71.104 42.315) |
+---------------------------------+指定 SRID 的另一种方式:
sql
SQL> SELECT ST_ASEWKT(ST_SETSRID(ST_POINT( -71.104, 42.315), 4326));
+---------------------------------+
| EXPR1 |
+---------------------------------+
| SRID=4326;POINT(-71.104 42.315) |
+---------------------------------+示例:地理
创建地理点(使用 :: 转换语法):
sql
SQL> SELECT ST_ASEWKT(ST_POINT( -71.104, 42.315, 4326)::GEOGRAPHY);
+---------------------------------+
| EXPR1 |
+---------------------------------+
| SRID=4326;POINT(-71.104 42.315) |
+---------------------------------+使用 CAST:
sql
SQL> SELECT ST_ASEWKT(CAST( ST_SETSRID(ST_POINT( -71.104, 42.315), 4326) AS GEOGRAPHY));
+---------------------------------+
| EXPR1 |
+---------------------------------+
| SRID=4326;POINT(-71.104 42.315) |
+---------------------------------+如果点的坐标不在地理坐标系(如 WGS84)中,则必须先执行坐标变换,然后再将其投射到地理。在此示例中,宾夕法尼亚州平面英尺 (SRID 2273) 上的点将转换为 WGS84 (SRID 4326)。
sql
SQL> SELECT ST_ASEWKT(ST_TRANSFORM( ST_POINT( 3637510, 3014852, 2273), 4326)::GEOGRAPHY);
+-------------------------------------------------------+
| EXPR1 |
+-------------------------------------------------------+
| SRID=4326;POINT(-75.18900105410722 39.97699985857664) |
+-------------------------------------------------------+