Вы не разместили ваш фактический запрос, но если вы заключаете геометрию, на который ссылается в своем заявлении SELECT
с ST_AsText()
то он возвращает геометрии в читаемый человеком формат под названием Well Known Text. , например.
SELECT my_id, ST_AsText(my_geom) FROM my_table;
-- returns POINT(31.9497 35.9328) using the geometry from your question.
Это довольно обычное упражнение по синтаксическому анализу. Или, если вы просто хотите сырой долготе/лат (или пищеблок/Northing), затем структурировать ваш запрос, как это:
SELECT ST_X(my_geom), ST_Y(my_geom) FROM my_table;
-- returns: 31.9497, 35.9328 using the geometry from your question
Обратите внимание, что вы также можете преобразовать геометрию, в случае необходимости, в систему координат, которая вам необходимо использовать. Например, если геометрия хранится в базе данных в обычном формате lon/lat (EPSG code 4326), и вам необходимо получить ее в программе Pseudo Mercator Projection, обычно используемой в онлайн-картах (EPSG code 3857), то вам необходимо сделать это:
-- note the explicit ::geometry cast
SELECT my_id, ST_AsText(ST_Transform(my_geom::geometry, 3857)) FROM my_table;
Для удовольствия, вы можете попробовать это в PostGIS включено окно Postgres SQL запросов (используя геометрию из вашего вопроса):
возвращение WKT:
SELECT ST_AsText('0101000020E6100000DE02098A1FF33F40BADA8AFD65F74140');
-- returns: POINT(31.9497 35.9328)
Return как Псевдо Mercator:
SELECT ST_AsText(ST_Transform('0101000020E6100000DE02098A1FF33F40BADA8AFD65F74140'::geometry, 3857))
-- returns: POINT(3556624.33499785 4291378.69099916)
Возвращение в X, Y:
SELECT ST_X('0101000020E6100000DE02098A1FF33F40BADA8AFD65F74140'),
ST_Y('0101000020E6100000DE02098A1FF33F40BADA8AFD65F74140');
-- returns: 31.9497, 35.9328
этот ответ описывает, как иметь дело с форматом ВКБ - http://gis.stackexchange.com/questions/60050/wkb-to-wkt- javascript-function - хотя, вероятно, лучше настроить SQL-запрос, чтобы получить координаты напрямую ... – ewcz