Categorias:

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

ST_GEOMETRYFROMWKB

Analisa uma entrada de WKB (binário bem conhecido) ou EWKB (binário bem conhecido estendido) e retorna um valor do tipo GEOMETRY.

Aliases:

ST_GEOMFROMWKB , ST_GEOMETRYFROMEWKB , ST_GEOMFROMEWKB

Consulte também:

TO_GEOMETRY

Sintaxe

ST_GEOMETRYFROMWKB( <varchar_or_binary_expression> , [ <allow_invalid> ] )

ST_GEOMFROMWKB( <varchar_or_binary_expression> , [ <allow_invalid> ] )

ST_GEOMETRYFROMEWKB( <varchar_or_binary_expression> , [ <allow_invalid> ] )

ST_GEOMFROMEWKB( <varchar_or_binary_expression> , [ <allow_invalid> ] )
Copy

Argumentos

varchar_or_binary_expression

O argumento deve ser uma cadeia de caracteres ou expressão binária em WKB ou EWKB que represente um objeto geoespacial válido.

Uma expressão de cadeia de caracteres deve estar em formato hexadecimal (sem um 0x na frente).

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

  • Emite um erro se a entrada não puder ser analisada como WKB ou EWKB.

  • Para uma entrada de WKB, o SRID do objeto GEOMETRY resultante é definido como 0.

    Para alterar o SRID de um objeto GEOMETRY, passe o objeto GEOMETRY para ST_SETSRID especificando o SRID que você deseja definir. ST_SETSRID retorna o objeto GEOMETRY que tem o SRID especificado.

Exemplos

O exemplo a seguir retorna o objeto GEOMETRY para um objeto geoespacial descrito no formato EWKB:

-- Set the geometry output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT ST_GEOMETRYFROMEWKB('0101000020797F000066666666A9CB17411F85EBC19E325641');
Copy
+---------------------------------------------------------------------------+
| ST_GEOMETRYFROMEWKB('0101000020797F000066666666A9CB17411F85EBC19E325641') |
|---------------------------------------------------------------------------|
| SRID=32633;POINT(389866.35 5819003.03)                                    |
+---------------------------------------------------------------------------+
Copy

No próximo exemplo, a entrada está no formato WKB, que não especifica o SRID:

-- Set the geometry output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT ST_GEOMETRYFROMEWKB('010100000066666666A9CB17411F85EBC19E325641');
Copy
+-------------------------------------------------------------------+
| ST_GEOMETRYFROMEWKB('010100000066666666A9CB17411F85EBC19E325641') |
|-------------------------------------------------------------------|
| SRID=0;POINT(389866.35 5819003.03)                                |
+-------------------------------------------------------------------+
Copy