- Categorias:
ST_TRANSFORM¶
Converte um objeto GEOMETRY de um sistema de referência espacial (SRS) em outro.
Use esta função para alterar o SRID e as coordenadas do objeto para corresponder ao novo SRS (sistema de referência espacial). Se você precisar apenas alterar o SRID sem alterar as coordenadas (por exemplo, se o SRID estiver incorreto), use ST_SETSRID.
Sintaxe¶
ST_TRANSFORM( <geometry_expression> [ , <from_srid> ] , <to_srid> );
Argumentos¶
Obrigatório:
- geometry_expression
- O argumento deve ser do tipo GEOMETRY. 
- to_srid
- O identificador do sistema de referência espacial (SRID) que identifica o SRS a ser usado. A função transforma o objeto de entrada GEOMETRY para um novo objeto que usa este SRS. 
Opcional:
- from_srid
- O SRID identificando o SRS atual do objeto de entrada GEOMETRY. - Se este argumento for omitido, a função usará o SRID especificado no objeto de entrada GEOMETRY. 
Retornos¶
A função retorna um GEOMETRY objeto que usa o SRS identificado por to_srid.
Notas de uso¶
- SRIDs são baseados no padrão EPSG (v10.082). Por exemplo, o SRID 4326 corresponde ao EPSG de autoridade com o código 4326. 
- Certifique-se de que a entrada GEOMETRY tenha o SRID correto definido ou que você especifique o argumento - from_srid.
- Atualmente, a função não suporta arquivos de grade de referência. Todas as transformações são executadas usando os parâmetros estáticos do datum sem nenhuma correção de arquivo de grade. 
- Se - geometry_expression,- from_sridou- to_sridforem NULL, esta função retornará NULL.
- Se - from_sridou- to_sridnão pode ser resolvido para um SRID válido, ocorrerá um erro.
Exemplos¶
O exemplo a seguir transforma um objeto POINT GEOMETRY de EPSG:32633 (WGS 84 / zona UTM 33N) em EPSG:3857 (Web Mercator).
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
  ST_TRANSFORM(
    ST_GEOMFROMWKT('POINT(389866.35 5819003.03)', 32633),
    3857
  ) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom                                              |
|---------------------------------------------------------------|
| SRID=3857;POINT(1489140.093765644 6892872.198680112)          |
+---------------------------------------------------------------+
Se o SRID de origem não estiver configurado corretamente no objeto GEOMETRY, você poderá especificar o SRID no argumento da função to_srid. Por exemplo, para transformar um objeto POINT GEOMETRY de EPSG:4326 (WGS84) em EPSG:28992 (Amersfoort / RD novo):
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
  ST_TRANSFORM(
    ST_GEOMFROMWKT('POINT(4.500212 52.161170)'),
    4326,
    28992
  ) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom                                              |
|---------------------------------------------------------------|
| SRID=28992;POINT (94308.66600006013 464038.16881095537)       |
+---------------------------------------------------------------+