【问题标题】:Converting Geometry to long/lat将几何转换为长/纬度
【发布时间】:2015-07-19 08:34:35
【问题描述】:

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

0101000020E610000095B9F94674CF37C09CBF0985083B5040 

所以在 Postgres 中,我可以进行选择查询来格式化所有内容。

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 扩展,只是想知道是否有人有想法。

【问题讨论】:

    标签: java eclipse postgresql postgis


    【解决方案1】:

    格式是扩展众所周知的二进制 (EWKB),这是 PostGIS 用于在 PostgreSQL 中存储 geometry 数据的格式。 ST_AsText() 函数将其转换为众所周知的文本 (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);}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2018-05-05
      相关资源
      最近更新 更多