ST_Transform associa uma figura geométrica a um sistema de referências espaciais diferente do sistema de referências espaciais ao qual a figura geométrica está associada atualmente.
Sintaxe
db2gse.ST_Transform(g db2gse.ST_Geometry, SRID db2gse.coordref)
Tipo de retorno
db2gse.ST_Geometry
Exemplos
A seguinte instrução CREATE TABLE cria a tabela TRANSFORM_TEST, que tem duas colunas de cadeia de linhas, L1 e L2.
CREATE TABLE TRANSFORM_TEST (tid integer, l1 db2gse.ST_LineString, l2 db2gse.ST_LineString)
A seguinte instrução INSERT insere uma cadeia de linhas em l1 com SRID de 102.
INSERT INTO TRANSFORM_TEST VALUES (1, db2gse.ST_LineFromText('linestring (10.01 40.43, 92.32 29.89)', db2gse.coordref()..srid(102)),NULL)
A função ST_Transform converte a cadeia de linhas de L1 da referência de coordenada atribuída para SRID 102 à referência de coordenadas atribuída para SRID 105. A seguinte instrução UPDATE armazena a cadeia de linhas transformada na coluna l2.
UPDATE TRANSFORM_TEST SET l2 = db2gse.ST_Transform(l1, db2gse.coordref()..srid(105))
Se a figura geométrica atribuída ficar fora do sistema de coordenadas que serve de base ao novo sistema de referências espaciais, ST_Transform irá retornar a figura geométrica como um valor nulo.
Por exemplo, considere uma figura geométrica ST_Point com 10.01 como
coordenada X e 20.02 como coordenada Y. Suponha que essa figura
geométrica seja atribuída a um sistema de referências espaciais com os
seguintes parâmetros:
falsex | 0 |
falsey | 0 |
xyunits | 1 |
Em seguida, suponha que você invoque ST_Transform para alterar o sistema de
referências espaciais da figura geométrica ST_Point para um dos seguintes
parâmetros:
falsex | 100 |
falsey | 100 |
xyunits | 1 |
ST_Transform retornará a figura geométrica como um nulo, porque as coordenadas (10.01, 20.02) ficam fora do sistema de coordenadas que serve de base ao novo sistema de referências espaciais.