Lấy tọa độ từ hình học trong PostGIS?


60

Đường thẳng này:

SELECT geom FROM myLayer.geom

sẽ trả về giá trị hex.

Làm thế nào tôi có thể nhận được các giá trị thập phân, đó là sự phối hợp có thể đọc được của con người?

Câu trả lời:



71

Sử dụng ST_AsText để xem đối tượng điểm:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Để xem X , Y và đối tượng geom:

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

3
Tôi tin rằng ST_X & ST_Y sẽ chỉ hoạt động với điểm. Họ không làm việc với đa giác hoặc dòng.
Devdatta Tengshe

bạn đúng Devdatta. nó chỉ hoạt động cho các điểm. ST_X - Trả về tọa độ X của điểm hoặc NULL nếu không có sẵn. Đầu vào phải là một điểm. tôi đã cập nhật câu trả lời của tôi
Aragon

7
Đối với đa giác / dòng, sử dụngst_x(st_centroid(the_geom))
Steve Bennett

11

Với một bảng trong 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 

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.