java - 将几何转换为经/纬度

标签 java eclipse postgresql postgis

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

0101000020E610000095B9F94674CF37C09CBF0985083B5040 

所以在 Postgres 中,我可以进行一个选择查询来格式化所有 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);}

关于java - 将几何转换为经/纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30123621/

相关文章:

java - 调整图像大小,保持纵横比

在 Ubuntu 上找不到 Java 应用程序主类

android - 如何将 logcat 输出复制到剪贴板?

Android studio Gradle 构建从 eclipse 导入

python - 使用哪种python数据结构

sql - 找到每个键的最新合格行

java - 是什么阻止了在 javafx 中更改 primaryStage.initStyle()?

java - 您需要使用 JDK 运行构建或在类路径中包含 tools.jar

php - 此类如何知道要查询哪个表?

java - 为什么 Spring-Boot 应用程序在创建 CXF SOAP 服务步骤时卡住?