¿Cómo obtener coordenadas de geometría en PostGIS?

Respuestas:

71

Use ST_AsText para ver el objeto de punto:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Para ver X , Y y el objeto geom:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;
Aragón
fuente
3
Creo que ST_X y ST_Y funcionarán solo con puntos. No funcionan con polígonos o líneas.
Devdatta Tengshe
tienes razón Devdatta. funciona solo por puntos. ST_X: devuelve la coordenada X del punto o NULL si no está disponible. La entrada debe ser un punto. He actualizado mi respuesta.
Aragón
77
Para polígonos / líneas, usest_x(st_centroid(the_geom))
Steve Bennett
11

Con una mesa en 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
fuente