这行代码:

SELECT geom FROM myLayer.geom


将返回一个十六进制值。

我将如何获得十进制值,这是人类可读的坐标? br />

#1 楼

除了ST_AsText(将几何图形返回为WKT /众所周知的文本)之外,还有几种其他输出格式,例如ST_AsGeoJSON()。 manual-2.0 / reference.html#Geometry_Outputs并选择最适合您的需求。

#2 楼

使用ST_AsText查看点对象:

SELECT ST_AsText(the_geom) 
       FROM myTable;


查看X,Y和几何对象:

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


评论


我相信ST_X和ST_Y仅适用于积分。它们不适用于多边形或直线。

–德瓦塔塔·滕舍
13年7月31日在9:16

你是对的Devdatta。它仅适用于积分。 ST_X —返回点的X坐标;如果不可用,则返回NULL。输入必须是一点。我已经更新了我的答案。

–阿拉贡
13年7月31日在9:19



对于多边形/线,请使用st_x(st_centroid(the_geom))

–史蒂夫·贝内特(Steve Bennett)
2013年9月18日在22:26

#3 楼

带有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 


#4 楼

SELECT * ST_AsText(the_geom) FROM table2;


来源:
使用PostGIS从多个表中获取几何图形吗?

评论


您可能需要在*后面添加一个,以正确分隔字段:SELECT *,ST_AsText(the_geom)FROM table2;

–皮埃尔
18-09-26在15:11