Поделиться через


Функция try_to_geometry

Применяется к:check помеченный да флажок Databricks SQL помечен да Databricks Runtime 17.1 и более поздних версий

Important

Эта функция доступна в общедоступной предварительной версии. Вы можете подтвердить регистрацию предварительной версии на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Замечание

Эта функция недоступна в классических хранилищах Databricks SQL. Дополнительные сведения о хранилищах SQL Databricks см. в разделе "Типы хранилища SQL".

Анализирует входное описание геометрии и возвращает соответствующее GEOMETRY значение или NULL если входное описание недопустимо. Значение SRID возвращаемого GEOMETRY значения зависит от входного формата.

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