Obtendo coordenadas da geometria no PostGIS?

60

Está linha:

SELECT geom FROM myLayer.geom

retornará um valor hexadecimal.

Como obter valores decimais, que é uma coordenação legível por humanos?

Kourosh
fonte

Respostas:

71

Use ST_AsText para visualizar o objeto de ponto:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Para visualizar X , Y e o objeto geom:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;
Aragão
fonte
3
Acredito que ST_X e ST_Y funcionem apenas com pontos. Eles não funcionam com polígonos ou linhas.
Devdatta Tengshe
você está certo, Devdatta. funciona apenas para pontos. ST_X - Retorna a coordenada X do ponto, ou NULL se não estiver disponível. A entrada deve ser um ponto. Eu atualizei minha resposta.
Aragão
7
Para polígonos / linhas, usest_x(st_centroid(the_geom))
Steve Bennett
11

Com uma mesa em UTM

SELECT 
ST_X(table.geometry) AS X1, --point x
ST_Y(table.geometry) AS Y1, --point y
ST_X(ST_TRANSFORM(table.geometry,4674)) AS LONG, -- longitude point x SIRGAS 2000
ST_Y(ST_TRANSFORM(table.geometry,4674)) AS LAT, --latitude point y SIRGAS 2000
ST_ASTEXT(table.geometry) AS XY, --wkt point xy
ST_ASTEXT(ST_TRANSFORM(table.geometry,4674)) AS LongLat --using st_transform to get wkt with longitude and latitude (4674 is the SIRGAS 2000 SRC by south america)
FROM
table 
phsaires
fonte
2
SELECT * ST_AsText(the_geom) FROM table2;

Fonte: Obtendo geometria de várias tabelas usando o PostGIS?

Mapperz
fonte
11
Pode ser necessário adicionar um, após o *, para separar adequadamente os campos: SELECT *, ST_AsText (the_geom) FROM table2;
Pierre