名称

ST_Point — 使用 X、Y 和 SRID 值创建一个点。

语法

geometry ST_Point(float x, float y);

geometry ST_Point(float x, float y, integer srid=unknown);

说明

返回具有给定 X 和 Y 坐标值的点。这是 ST_MakePoint 的 SQL-MM 等效项,它仅采用 X 和 Y。

[Note]

对于大地坐标,X 是经度,Y 是纬度

增强:3.2.0 将 srid 添加为一个额外的可选参数。旧版安装需要与 ST_SetSRID 结合使用,以在几何上标记 srid。

此方法实现了 SQL/MM 规范。

SQL-MM 3: 6.1.2

示例:几何

SELECT ST_Point( -71.104, 42.315);
SELECT ST_SetSRID(ST_Point( -71.104, 42.315),4326);

3.2.0 中的新增功能:指定 SRID

SELECT ST_Point( -71.104, 42.315, 4326);

示例:地理

PostGIS 3.2 之前的语法

SELECT CAST( ST_SetSRID(ST_Point( -71.104, 42.315), 4326) AS geography);

3.2 及更高版本可以包含 srid

SELECT CAST( ST_Point( -71.104, 42.315, 4326) AS geography);

PostgreSQL 还提供了用于强制转换的 :: 简写

SELECT ST_Point( -71.104, 42.315, 4326)::geography;

如果点坐标不在大地坐标系(如 WGS84)中,则必须在强制转换为地理之前对其进行重新投影。在此示例中,宾夕法尼亚州平面英尺(SRID 2273)中的一个点被投影到 WGS84(SRID 4326)。

SELECT ST_Transform(ST_SetSRID( ST_Point( 3637510, 3014852 ), 2273), 4326)::geography;

另请参见

第 4.3 节,“地理数据类型”ST_MakePointST_SetSRIDST_TransformST_PointZST_PointMST_PointZM