O Spatial Extender possui várias funções que geram figuras geométricas a partir de descrições de textos:
A representação de texto é uma cadeia de formato de texto ASCII que permite que a figura geométrica seja trocada no formato de texto ASCII. Você pode usar estas funções num programa (3GL ou 4GL) de linguagem de terceira ou quarta geração mas elas não exigem as definições de estruturas de programas especiais. A função ST_AsText converte uma figura geométrica existente numa representação de texto.
Cada tipo de figura geométrica possui uma representação de texto reconhecida, que pode ser usada para construir novas instâncias do tipo e converter instâncias existentes na forma textual para exibição alfanumérica.
A representação de texto reconhecida de uma figura geométrica é definida da seguinte forma: a notação {}* denota 0 ou mais repetições dos tokens dentro das chaves; as chaves não aparecem na lista de tokens de saída.
<Texto Marcado de figura geométrica> := | <Texto Marcado de Ponto> | <Texto Marcado de Cadeia de Linha> | <Texto Marcado de Polígono> | <Texto Marcado de MultiPonto> | <Texto Marcado de Cadeia de Linhas Múltiplas> | <Texto Marcado de MultiPolígono> <Texto Marcado de Ponto> := POINT (<Texto de Ponto>) <Texto Marcado de Cadeia de Linha> := LINESTRING (<Texto de Cadeia de Linha>) <Texto Marcado de Polígono> := POLYGON (<Texto de Polígono>) <Texto Marcado de MultiPonto> := MULTIPOINT (<MultiPoint Text>) <Texto Marcado de Cadeia de Linhas Múltiplas> := MULTILINESTRING (<Texto de Cadeia de Linhas Múltiplas>) <Texto Marcado de MultiPolígono> := MULTIPOLYGON (<Texto de MultiPolígono>) <Texto de Ponto> := EMPTY | <Ponto> | Z (<PontoZ>) | M (<PontoM>) | ZM (<PontoZM>) <Ponto> := <x> <y> <x> := literal de precisão dupla <y> := literal de precisão dupla <PontoZ> := <x> <y> <z> <x> := literal de precisão dupla <y> := literal de precisão dupla <z> := literal de precisão dupla <PontoM> := <x> <y> <m> <x> := literal de precisão dupla <y> := literal de precisão dupla <m> := literal de precisão dupla <PontoZM> := <x> <y> <z> <m> <x> := literal de precisão dupla <y> := literal de precisão dupla <z> := literal de precisão dupla <m> := literal de precisão dupla <Texto de Cadeia de Linha> := EMPTY | ( <Texto de Ponto > {, <Texto de Ponto > }* ) | Z ( <Texto de Ponto Z > {, <Texto de Ponto Z> }* ) | M ( <Texto de Ponto M > {, <Texto de Ponto M> }* ) | ZM ( <Texto de Ponto ZM > {, <Texto de Ponto ZM> }* ) <Texto de Polígono> := EMPTY | ( <Texto de Cadeia de Linha > {,< Texto de Cadeia de Linha > }* ) <MultiPoint Text> := EMPTY | ( <Texto de Ponto > {, <Texto de Ponto > }* ) <Texto de Cadeia de Linhas Múltiplas> := EMPTY | ( <Texto de Cadeia de Linha > {,< Texto de Cadeia de Linha > }* ) <Texto de MultiPolígono> := EMPTY | ( < Texto de Polígono > {, < Texto de Polígono > }* )
A sintaxe da função básica é:
função (<descrição do texto>,<SRID db2gse.coordref>)
O SRID, o identificador de referência espacial e a chave primária da tabela SPATIAL_REFERENCES, identifica o sistema de referência espacial que está armazenado na tabela SPATIAL_REFERENCES. Antes de uma figura geométrica ser inserida numa coluna espacial, seu SRID deve corresponder ao SRID da coluna espacial.
A descrição do texto é composta de três componentes básicos que são colocados entre aspas, por exemplo:
<'tipo de figura geométrica'> ['tipo de coordenada'] [''lista de coordenada']
em que:
A Tabela 66 mostra uma lista completa de exemplos de todas as
representações de texto possíveis.
Tabela 66. Tipos de figura geométrica e suas representações de texto
Tipo de figura geométrica
|
Descrição do texto
|
Comentário
|
---|---|---|
ponto
|
ponto vazio
|
ponto vazio
|
ponto
|
ponto z vazio
|
ponto vazio com coordenada z
|
ponto
|
ponto m vazio
|
ponto vazio com medida
|
ponto
|
ponto zm vazio
|
ponto vazio com coordenada z e medida
|
ponto
|
ponto ( 10.05 10.28 )
|
ponto
|
ponto
|
ponto z ( 10.05 10.28 2.51 )
|
ponto com coordenada z
|
ponto
|
ponto m ( 10.05 10.28 4.72 )
|
ponto com medida
|
ponto
|
ponto zm ( 10.05 10.28 2.51 4.72
)
|
ponto com coordenada z e medida
|
cadeia de linha
|
cadeia de linha vazia
|
cadeia de linha vazia
|
cadeia de linha
|
cadeia de linha z vazia
|
cadeia de linha vazia com coordenadas z
|
cadeia de linha
|
cadeia de linha m vazia
|
cadeia de linha vazia com medidas
|
cadeia de linha
|
cadeia de linha zm vazia
|
cadeia de linha vazia com coordenadas z e medidas
|
cadeia de linha
|
cadeia de linha( 10.05 10.28 , 20.95
20.89 )
|
cadeia de linha
|
cadeia de linha
|
cadeia de linha z ( 10.05 10.28 3.09,
20.95 31.98 4.72, 21.98 29.80 3.51
)
|
cadeia de linha com coordenadas z
|
cadeia de linha
|
cadeia de linha m ( 10.05 10.28 5.84,
20.95 31.98 9.01, 21.98 29.80 12.84
)
|
cadeia de linha com medidas
|
cadeia de linha
|
cadeia de linha zm ( )
|
cadeia de linha com coordenadas z e medidas
|
polígono
|
polígono vazio
|
polígono vazio
|
polígono
|
polígono z vazio
|
polígono vazio com coordenadas z
|
polígono
|
polígono m vazio
|
polígono vazio com medidas
|
polígono
|
polígono zm vazio
|
polígono vazio com coordenadas z e medidas
|
polígono
|
polígono (( 10 10, 10 20, 20 20, 20 15, 10 10))
|
polígono
|
polígono
|
polígono z (( ))
|
polígono com coordenadas z
|
polígono
|
polígono m (( ))
|
polígono com medidas
|
polígono
|
polígono zm (( ))
|
polígono com coordenadas z e medidas
|
multiponto
|
multiponto vazio
|
multiponto vazio
|
multiponto
|
multiponto z vazio
|
multiponto vazio com coordenadas z
|
multiponto
|
multiponto m vazio
|
multiponto vazio com medidas
|
multiponto
|
multiponto zm vazio
|
multiponto vazio com coordenadas z com medidas
|
multiponto
|
multiponto vazio
|
multiponto vazio
|
multiponto
|
multiponto (10 10, 20 20)
|
multiponto com dois pontos
|
multiponto
|
multiponto z (10 10 2, 20 20 3)
|
multiponto com coordenadas z
|
multiponto
|
multiponto m (10 10 4, 20 20 5)
|
multiponto com medidas
|
multiponto
|
multiponto zm (10 10 2 4, 20 20 3 5)
|
multiponto com coordenadas z e medidas
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas vazia
|
cadeia de linhas múltiplas vazia
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas z vazia
|
cadeia de linhas múltiplas vazia com coordenadas z
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas m vazia
|
cadeia de linhas múltiplas vazia com medidas
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas zm vazia
|
cadeia de linhas múltiplas vazia com coordenadas z e medidas
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas (( ))
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas z (( ))
|
cadeia de linhas múltiplas com coordenadas z
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas m (( ))
|
cadeia de linhas múltiplas com medidas
|
cadeia de linhas múltiplas
|
cadeia de linhas múltiplas zm (( ))
|
cadeia de linhas múltiplas com coordenadas z e medidas
|
multipolígono
|
multipolígono vazio
|
multipolígono vazio
|
multipolígono
|
multipolígono z vazio
|
multipolígono vazio com coordenadas z
|
multipolígono
|
multipolígono m vazio
|
multipolígono vazio com medidas
|
multipolígono
|
multipolígono z
|
multipolígono vazio com coordenadas z e medidas
|
multipolígono
|
multipolígono ((( )))
|
multipolígono
|
multipolígono
|
multipolígono z ((( )))
|
multipolígono com coordenadas z
|
multipolígono
|
multipolígono m (((10 10 2, 10 20 3, 20 20 4, 20 15 5,
10 10 2), (50 40 7, 50 50 3, 60 50 4, 60 40 5, 50 40
7)))
|
multipolígono com medidas
|
multipolígono
|
multipolígono zm ((( )))
|
multipolígono com coordenadas z e medidas
|