您尚未发布实际查询,但如果您使用 ST_AsText() 包装 SELECT 语句中引用的几何图形,那么它将以称为 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.
这是相当普通的解析练习。或者,如果您只想要原始的 lon / lat(或东/北),那么像这样构造您的查询:
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) 存储在数据库中,并且您需要在线地图中通常使用的伪墨卡托投影 (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)
作为伪墨卡托返回:
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