try_to_geometry 関数

適用対象:はい Databricks SQL チェックが Databricks Runtime 17.1 以降" とマークされているチェック

この機能は、Databricks SQL クラシック ウェアハウスでは使用できません。 Databricks SQL ウェアハウスの詳細については、 SQL ウェアハウスの種類に関するページを参照してください。

ジオメトリの入力説明を解析し、対応する GEOMETRY 値を返します。入力の説明が無効な場合は NULL します。 返される GEOMETRY 値の SRID 値は、入力形式によって異なります。

Syntax

try_to_geometry ( geoRepExpr )

Arguments

Returns

入力ジオメトリの説明に対応する GEOMETRY(ANY)型の値。

  • 入力がNULL場合、この関数はNULLを返します。
  • この関数は、入力NULLまたはBINARY値がジオメトリの無効な説明である場合、STRINGを返します。

Examples

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

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

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

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

-- Input geometry is in EWKT format.
> SELECT concat_ws(';', st_srid(g)::STRING, st_asgeojson(g)) FROM (SELECT try_to_geometry('SRID=3857;POINT Z (3 4 5)') AS g);
  3857;{"type":"Point","coordinates":[3,4,5]}

-- Input value is not the description of a geometry.
> SELECT st_astext(try_to_geometry('some string that does not represent a geometry'));
  NULL