Categorias:

Funções geoespaciais, Funções de conversão

TRY_TO_GEOMETRY

Analisa uma entrada e retorna um valor do tipo GEOMETRY.

Esta função é essencialmente idêntica a TO_GEOMETRY exceto que ela retorna NULL, enquanto TO_GEOMETRY emitiria um erro.

Consulte também:

TO_GEOMETRY

Sintaxe

Use uma das seguintes opções:

TRY_TO_GEOMETRY( <varchar_expression> , [ <allow_invalid> ] )

TRY_TO_GEOMETRY( <binary_expression> , [ <allow_invalid> ] )

TRY_TO_GEOMETRY( <variant_expression> , [ <allow_invalid> ] )
Copy

Argumentos

varchar_expression

O argumento deve ser uma expressão de cadeia de caracteres que represente um objeto geométrico válido em um dos seguintes formatos:

  • WKT (texto bem conhecido).

  • WKB (binário bem conhecido) em formato hexadecimal (sem um 0x na frente).

  • EWKT (texto bem conhecido estendido).

  • EWKB (binário bem conhecido estendido) em formato hexadecimal (sem um 0x na frente).

  • GeoJSON.

binary_expression

O argumento deve ser uma expressão binária no formato WKB ou EWKB.

variant_expression

O argumento deve ser um formato OBJECT no formato GeoJSON.

Opcional:

allow_invalid

Se TRUE, especifica que a função deve retornar um objeto GEOGRAPHY ou GEOMETRY, mesmo quando a forma de entrada for inválida e não puder ser reparada. Para obter mais detalhes, consulte Specifying How Invalid Geospatial Shapes Are Handled.

Retornos

A função retorna um valor do tipo GEOMETRY.

Notas de uso

  • Retorna NULL se a entrada não puder ser analisada como o formato suportado apropriado (WKT, WKB, EWKT, EWKB, GeoJSON).

  • Para entradas GeoJSON, WKT e WKB, o SRID do objeto GEOMETRY resultante é definido como 0. Para alterar o SRID, passe o objeto GEOMETRY para ST_SETSRID especificando o SRID que você deseja definir. ST_SETSRID retorna o objeto GEOMETRY com esse SRID definido.

Exemplos

Isso mostra uma simples utilização da função TRY_TO_GEOMETRY com dados VARCHAR:

select try_to_geometry('INVALID INPUT');
Copy
+--------------------------------------+
| try_to_geometry('INVALID INPUT')     |
|--------------------------------------|
| NULL                                 |
+--------------------------------------+
Copy