Отримання координат з геометрії в PostGIS?


60

Цей рядок:

SELECT geom FROM myLayer.geom

поверне шістнадцяткове значення

Як я можу отримати десяткові значення, що є зручною для людини координацією?

Відповіді:



71

Використовуйте ST_AsText для перегляду об'єкта точки:

SELECT ST_AsText(the_geom) 
       FROM myTable;

Для перегляду X , Y та об’єкта geom:

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

3
Я вважаю, що ST_X & ST_Y працюватимуть лише з очками. Вони не працюють з багатокутниками або лініями.
Devdatta Tengshe

ти правий Девдатта. він працює лише для очок. ST_X - поверніть координату точки X або NULL, якщо вона недоступна. Введення має бути крапкою. я оновив свою відповідь.
Арагон

7
Для багатокутників / ліній використовуйтеst_x(st_centroid(the_geom))
Стів Беннетт

11

З таблицею в 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 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.