Uzyskiwanie współrzędnych z geometrii w PostGIS?


Odpowiedzi:



71

Użyj ST_AsText, aby wyświetlić obiekt punktu:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Aby wyświetlić X , Y i obiekt geom:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;

3
Wierzę, że ST_X i ST_Y będą działać tylko z punktami. Nie działają z wielokątami ani liniami.
Devdatta Tengshe,

masz rację Devdatta. działa tylko dla punktów. ST_X - Zwraca współrzędną X punktu lub NULL, jeśli nie jest dostępna. Dane wejściowe muszą być punktem. zaktualizowałem swoją odpowiedź.
Aragonia

7
W przypadku wielokątów / linii użyjst_x(st_centroid(the_geom))
Steve Bennett,

11

Ze stołem w 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 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.