名称

ST_AsLatLonText — 返回给定点的度、分、秒表示形式。

概要

text ST_AsLatLonText(geometry pt, text format='');

描述

返回点的度、分、秒表示形式。

[Note]

假定该点位于经纬度投影中。输出中的 X(经度)和 Y(纬度)坐标被归一化到“正常”范围(经度为 -180 到 +180,纬度为 -90 到 +90)。

text 参数是一个格式字符串,包含结果文本的格式,类似于日期格式字符串。有效的标记是 "D" 表示度,"M" 表示分,"S" 表示秒,"C" 表示方位(NSEW)。DMS 标记可以重复以表示所需的宽度和精度("SSS.SSSS" 表示 " 1.0023")。

"M"、"S" 和 "C" 是可选的。如果省略 "C",则如果为南或西,度数将显示带有 "-" 符号。如果省略 "S",则分钟将显示为小数,精度位数由您指定。如果也省略 "M",则度数将显示为小数,精度位数由您指定。

如果省略格式字符串(或长度为零),将使用默认格式。

可用性:2.0

示例

默认格式。

SELECT (ST_AsLatLonText('POINT (-3.2342342 -2.32498)'));
      st_aslatlontext
----------------------------
 2°19'29.928"S 3°14'3.243"W

提供格式(与默认格式相同)。

SELECT (ST_AsLatLonText('POINT (-3.2342342 -2.32498)', 'D°M''S.SSS"C'));
      st_aslatlontext
----------------------------
 2°19'29.928"S 3°14'3.243"W

除了 D、M、S、C 和 . 之外的字符将直接传递。

SELECT (ST_AsLatLonText('POINT (-3.2342342 -2.32498)', 'D degrees, M minutes, S seconds to the C'));
                                   st_aslatlontext
--------------------------------------------------------------------------------------
 2 degrees, 19 minutes, 30 seconds to the S 3 degrees, 14 minutes, 3 seconds to the W

带符号的度数,而不是方位。

SELECT (ST_AsLatLonText('POINT (-3.2342342 -2.32498)', 'D°M''S.SSS"'));
      st_aslatlontext
----------------------------
 -2°19'29.928" -3°14'3.243"

十进制度数。

SELECT (ST_AsLatLonText('POINT (-3.2342342 -2.32498)', 'D.DDDD degrees C'));
          st_aslatlontext
-----------------------------------
 2.3250 degrees S 3.2342 degrees W

过大的值会被归一化。

SELECT (ST_AsLatLonText('POINT (-302.2342342 -792.32498)'));
        st_aslatlontext
-------------------------------
 72°19'29.928"S 57°45'56.757"E