STV_GeographyPoint

基于输入值,返回 GEOGRAPHY 点。

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

行为类型

不可变

语法

STV_GeographyPoint( x, y )

参数

x
X 坐标或经度,FLOAT。
y
y 坐标或纬度,FLOAT。

返回

GEOGRAPHY

示例

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

返回 GEOGRAPHY 点:


=> SELECT ST_AsText(STV_GeographyPoint(-114.101588, 47.909677));
           ST_AsText
-------------------------------
 POINT (-114.101588 47.909677)
(1 row)

使用两列返回 GEOGRAPHY 点:


=> CREATE TABLE geog_data (id IDENTITY, x FLOAT, y FLOAT);
CREATE TABLE
=> COPY geog_data FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> -114.101588|47.909677
>> -111.532377|46.430753
>> \.
=> SELECT id, ST_AsText(STV_GeographyPoint(x, y)) FROM geog_data;
 id |           ST_AsText
----+-------------------------------
  1 | POINT (-114.101588 47.909677)
  2 | POINT (-111.532377 46.430753)
(2 rows)

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

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

另请参阅

STV_GeometryPoint