to_geometry 函数

适用于:检查标记为“是”的 Databricks SQL 检查标记为“是”是 Databricks Runtime 17.1 及更高版本

Important

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

注释

此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型

分析几何图形的输入说明并返回相应的 GEOMETRY 值。 返回 GEOMETRY 值的 SRID 值取决于输入格式。

Syntax

to_geometry ( geoRepExpr )

Arguments

  • geoRepExpr:表示 BINARYSTRING 或扩展 WKB(EWKB)中的几何图形的表达式

Returns

一个类型 GEOMETRY(ANY)值,对应于输入地理说明。

如果输入为 NULL.,则函数返回 NULL

错误条件

  • 如果 geoRepExpr 类型为类型 BINARY 且值为无效的 EWKB,则函数将返回 EWKB_PARSE_ERROR
  • 如果 geoRepExpr 类型为类型 BINARY 且值为无效的 WKB,则函数将返回 WKB_PARSE_ERROR
  • 如果 geoRepExpr 类型为类型 STRING 且值无效的 WKT,则函数将返回 WKT_PARSE_ERROR
  • 如果 geoRepExpr 类型为, STRING 并且值无效 GeoJSON,则函数将返回 GEOJSON_PARSE_ERROR

Examples

-- Input geometry is in WKT format.
> SELECT st_asgeojson(to_geometry('POINT Z (3 4 5)'));
  {"type":"Point","coordinates":[3,4,5]}

-- Input geometry is in GeoJSON format.
> SELECT st_astext(to_geometry('{"type":"Point","coordinates":[3,4,5]}'));
  POINT Z (3 4 5)

-- Input geometry is in WKB format.
> SELECT st_astext(to_geometry(X'0101000060110f0000000000000000084000000000000010400000000000001440'));
  POINT M (3 4 5)

-- Input geometry is in EWKB format.
> SELECT st_asewkt(to_geometry(X'01010000E0110F0000000000000000084000000000000010400000000000001440000000000000F0BF'));
  SRID=3857;POINT ZM (3 4 5 -1)