簡體   English   中英

PostGIS JDBC SQL查詢

[英]PostGIS jdbc sql query

我正在嘗試對postgresql數據庫使用postgis擴展,但無法使其以我想要的方式工作。 我正在使用postgis 2.1.6(從源代碼進行客戶構建)和postgresql-9.4-1201.jdbc4.jar(還有其他具有休眠配置的項目,但在這種情況下可能無關緊要)。

我有一些測試代碼(主要來自postgis示例文件夾):

String dburl="jdbc:postgresql://localhost/mapwebcatalog";
Connection conn = DriverManager.getConnection(dburl, dbuser, dbpass);
Statement stat = conn.createStatement();

{
ResultSet rs = stat.executeQuery("SELECT raw_data_file_points::geometry from raw_data_file_area");

rs.next();
result = (PGobject) rs.getObject(1);
if (result instanceof PGgeometry) {
    System.out.println("PGgeometry successful!");
} else {
    System.out.println("PGgeometry failed!");
}
}

{
ResultSet rs = stat.executeQuery("SELECT raw_data_file_points from raw_data_file_area");
rs.next();
result = (PGobject) rs.getObject(1);
if (result instanceof PGgeometry) {
    System.out.println("PGgeometry successful!");
} else {
    System.out.println("PGgeometry failed!");
}
}

當我跑步時,我得到“ PGgeometry成功!” (如果是第一則)和“ PGgeometry失敗!” (如果第二則)。 區別只是列(:: geometry)的顯式類型。

這是正常現象,還是配置有問題? 如果這是正常現象,應該是怎樣的,hibernate是否應該使用類型轉換生成sql查詢?

哎呀,那是愚蠢的錯誤。 我在數據庫中有地理專欄。 使用幾何類型,一切正常。 或者如果更改driverconfig.properties並添加以下行:

datatype.geography=org.postgis.PGgeometry

它也將與地理類型一起使用(或在db中使用幾何類型)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM