- Categorias:
TO_GEOMETRY¶
Analisa uma entrada e retorna um valor do tipo GEOMETRY.
- Consulte também:
Sintaxe¶
Use uma das seguintes opções:
TO_GEOMETRY( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
TO_GEOMETRY( <binary_expression> [ , <srid> ] [ , <allow_invalid> ] )
TO_GEOMETRY( <variant_expression> [ , <srid> ] [ , <allow_invalid> ] )
TO_GEOMETRY( <geography_expression> [ , <srid> ] [ , <allow_invalid> ] )
Argumentos¶
Obrigatório:
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.
geography_expression
O argumento deve ser uma expressão do tipo GEOGRAPHY.
Opcional:
srid
O valor inteiro do SRID a ser usado.
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 Especificação de como as formas geoespaciais inválidas são tratadas.
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 um dos formatos suportados (WKT, WKB, EWKT, EWKB, GeoJSON).
Para as entradas GeoJSON, WKT e WKB, se o argumento
srid
não for especificado, o objeto GEOMETRY resultante terá SRID definido como 0.Para criar um objeto GEOMETRY a partir da entrada de WKT ou EWKT, você também pode usar ST_GEOMETRYFROMWKT.
Para criar um objeto GEOMETRY a partir da entrada de WKB ou EWKB, você também pode usar ST_GEOMETRYFROMWKB.
Exemplos¶
O exemplo a seguir mostra como usar a função TO_GEOMETRY para converter um objeto representado em WKT em um objeto GEOMETRY. O exemplo não especifica o argumento srid
e o SRID não é especificado na representação de entrada do objeto, portanto, o SRID é definido como 0.
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT TO_GEOMETRY('POINT(1820.12 890.56)');
+--------------------------------------+
| TO_GEOMETRY('POINT(1820.12 890.56)') |
|--------------------------------------|
| SRID=0;POINT(1820.12 890.56) |
+--------------------------------------+
O exemplo a seguir converte um objeto representado em EWKT em um objeto GEOMETRY. A entrada EKWT especifica o SRID a ser usado:
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT TO_GEOMETRY('SRID=4326;POINT(1820.12 890.56)');
+------------------------------------------------+
| TO_GEOMETRY('SRID=4326;POINT(1820.12 890.56)') |
|------------------------------------------------|
| SRID=4326;POINT(1820.12 890.56) |
+------------------------------------------------+
O exemplo a seguir demonstra como especificar o SRID como argumento de entrada srid
:
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT TO_GEOMETRY('POINT(1820.12 890.56)', 4326);
+--------------------------------------------+
| TO_GEOMETRY('POINT(1820.12 890.56)', 4326) |
|--------------------------------------------|
| SRID=4326;POINT(1820.12 890.56) |
+--------------------------------------------+
O exemplo a seguir retorna o objeto GEOMETRY para um objeto geoespacial com coordenada Z descrito no formato EWKT:
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT TO_GEOMETRY('SRID=32633;POINTZ(389866.35 5819003.03 30)');
+-----------------------------------------------------------+
| TO_GEOMETRY('SRID=32633;POINTZ(389866.35 5819003.03 30)') |
|-----------------------------------------------------------|
| SRID=32633;POINTZ(389866.35 5819003.03 30) |
+-----------------------------------------------------------+
Para exemplos que convertem um objeto GEOGRAPHY em um objeto GEOMETRY, consulte Conversão entre GEOGRAPHY e GEOMETRY.