GEOGRAPHY 类型

适用于:已勾选“是”的 Databricks Runtime 17.1 及更高版本

重要

此功能目前以公共预览版提供。

表示地理对象(点、线字符串、多边形等),其坐标引用系统是地理对象,并由类型的 SRID 值 GEOGRAPHY 描述。 地理对象所在的基础空间是一个周期性空间,第一个轴表示经度(以度为单位),第二个轴表示纬度(以度为单位)。 坐标应位于 [-180, 180] 经度和 [-90, 90] 纬度范围内。

注释

Iceberg 表不支持 GEOGRAPHY 列。

语法

GEOGRAPHY ( { srid | ANY } )

限制

类型为GEOGRAPHY(ANY)的列可以保存地理数据,并且每行的 SRID 值可以不同。 无法持久保存类型 GEOGRAPHY(ANY) 列。

唯一允许用于 GEOGRAPHY 类型的 SRID 值是 4326。 如果用户尝试定义包含 SRID 值以外的GEOGRAPHY列,用户将收到4326错误。

文本

有关如何创建 GEOGRAPHY 值的详细信息,请参阅:

注释

例子

> SELECT hex(st_asbinary(st_geogfromtext('POINT(1 2)'));
  0101000000000000000000f03f0000000000000040

> SELECT st_asewkt(st_geogfromwkb(X'0101000000000000000000f03f0000000000000040');
  SRID=4326;POINT(1 2)

> SELECT st_asgeojson(st_geogfromtext('POINT(1 2)');
  {"type":"Point","coordinates":[[1,2]]}

> SELECT st_astext(st_geogfromgeojson('{"type":"Point","coordinates":[[1,2]]}');
  POINT(1 2)

> SELECT st_astext(to_geography('{"type":"Point","coordinates":[[1,2]]}');
  POINT(1 2)

> SELECT try_to_geography('not a geography value');
  NULL