STV_GeometryPoint

基于输入值,返回 GEOMETRY 点。

这是将原始坐标转换为 GEOMETRY 点的最佳方法。

行为类型

不可变

语法

STV_GeometryPoint( x, y [, srid] )

参数

x
X 坐标或经度,FLOAT。
y
y 坐标或纬度,FLOAT。
srid
(可选)分配给点的空间参照标识符 (SRID),类型为 INTEGER。

返回

GEOMETRY

示例

以下示例显示了 STV_GeometryPoint 的用法。

返回包含 SRID 的 GEOMETRY 点:


=> SELECT ST_AsText(STV_GeometryPoint(71.148562, 42.989374, 4326));
          ST_AsText
-----------------------------
 POINT (-71.148562 42.989374)
(1 row)

使用两列返回 GEOMETRY 点:


=> CREATE TABLE geom_data (id IDENTITY, x FLOAT, y FLOAT, SRID int);
CREATE TABLE
=> COPY geom_data FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 42.36383053600048|-71.10165445099966|4326
>> 42.3670937980005|-71.10644448699964|4326
>> \\.
=> SELECT id, ST_AsText(STV_GeometryPoint(x, y, SRID)) FROM geom_data;
 id |             ST_AsText
----+------------------------------------
  1 | POINT (-71.101654451 42.363830536)
  2 | POINT (-71.106444487 42.367093798)
(2 rows)

在加载期间通过操纵数据源列来创建 GEOMETRY 点:

=> CREATE TABLE geom_data_load (id IDENTITY, geom GEOMETRY);
CREATE TABLE
=> COPY geom_data_load (lon FILLER FLOAT,
                        lat FILLER FLOAT,
                        geom AS STV_GeometryPoint(lon, lat))
   FROM 'test_coords.csv' DELIMITER ',';
 Rows Loaded
-------------
           2
(1 row)
=> SELECT id, ST_AsText(geom) FROM geom_data_load;
 id |             ST_AsText
----+------------------------------------
  1 | POINT (-75.101654451 43.363830536)
  2 | POINT (-75.106444487 43.367093798)
(2 rows)

另请参阅

STV_GeographyPoint