Mendapatkan koordinat dari geometri di PostGIS?

60

Garis ini:

SELECT geom FROM myLayer.geom

akan mengembalikan nilai hex.

Bagaimana saya mendapatkan nilai desimal, yang merupakan koordinasi yang dapat dibaca manusia?

Kourosh
sumber

Jawaban:

71

Gunakan ST_AsText untuk melihat objek titik:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Untuk melihat X , Y , dan objek geom:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;
Aragon
sumber
3
Saya percaya bahwa ST_X & ST_Y hanya akan bekerja dengan poin. Mereka tidak bekerja dengan poligon atau garis.
Devdatta Tengshe
Anda benar Devdatta. ini hanya berfungsi untuk poin. ST_X - Kembalikan koordinat X titik, atau NULL jika tidak tersedia. Masukan harus berupa titik. saya telah memperbarui jawaban saya.
Aragon
7
Untuk poligon / garis, gunakanst_x(st_centroid(the_geom))
Steve Bennett
11

Dengan sebuah tabel di 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
sumber