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)