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> )

ST_GEOMFROMWKB( <varchar_or_binary_expression> )

ST_GEOMETRYFROMEWKB( <varchar_or_binary_expression> )

ST_GEOMFROMEWKB( <varchar_or_binary_expression> )

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).

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');
+---------------------------------------------------------------------------+
| ST_GEOMETRYFROMEWKB('0101000020797F000066666666A9CB17411F85EBC19E325641') |
|---------------------------------------------------------------------------|
| SRID=32633;POINT(389866.35 5819003.03)                                    |
+---------------------------------------------------------------------------+

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');
+-------------------------------------------------------------------+
| ST_GEOMETRYFROMEWKB('010100000066666666A9CB17411F85EBC19E325641') |
|-------------------------------------------------------------------|
| SRID=0;POINT(389866.35 5819003.03)                                |
+-------------------------------------------------------------------+