将几何转换为 long/lat

Converting Geometry to long/lat

所以在 PostgreSQL 中,我有一堆 long/lat 的几何值,格式如下:

0101000020E610000095B9F94674CF37C09CBF0985083B5040 

所以在 Postgres 中,我可以创建一个 select 查询来格式化所有 Ex。

SELECT ST_AsText(position_geom)FROM reports;

所以我在 eclipse 中安装了 postgreSQL 和 PostGIS JDBC 驱动程序,并认为我可以做类似于

的事情
rs = stmt.executeQuery("SELECT ST_AsText(*)FROM reports");
while(rs.next()){
String geomVal = rs.getString("position_geom"); 
System.out.println(geomVal);} 

但我收到错误消息:

function st_astext() does not exist.

我已经导入了所有 postGIS 扩展,只是想知道是否有人有想法。

格式为扩展知名二进制 (EWKB),这是 PostGIS 在 PostgreSQL 中用于存储 geometry 数据的格式。 ST_AsText() 函数将其转换为 Well-Known Text (WKT) 格式。

ST_AsText() 函数需要具有 geometry 数据类型的单个列。所以改变你的代码如下:

rs = stmt.executeQuery("SELECT ST_AsText(position_geom) AS position_txt FROM reports");
while(rs.next()){ 
String geomVal = rs.getString("position_txt"); 
System.out.println(geomVal);}