Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
存储PostgreSQL/PostGIS“;几何学(多边形)“;java中的数据类型_Java_Jakarta Ee_Postgis_Mapserver_Postgresql 9.2 - Fatal编程技术网

存储PostgreSQL/PostGIS“;几何学(多边形)“;java中的数据类型

存储PostgreSQL/PostGIS“;几何学(多边形)“;java中的数据类型,java,jakarta-ee,postgis,mapserver,postgresql-9.2,Java,Jakarta Ee,Postgis,Mapserver,Postgresql 9.2,我需要将PostgreSQL的几何体(MultiPolygon)类型变量存储到java变量中 这是因为我试图将geometry列添加到非空间表中,以便使用mapserver查询地图 我试图将它存储在一个字符串中,这导致了一个错误 请建议我使用Java的数据类型,以便我可以将值存储在空间数据库的geometry列中 以下是我的代码片段: String query="select geom from apmandal where mandalname='"+mname+"'"; Re

我需要将PostgreSQL的几何体(MultiPolygon)类型变量存储到java变量中 这是因为我试图将geometry列添加到非空间表中,以便使用mapserver查询地图

我试图将它存储在一个字符串中,这导致了一个错误

请建议我使用Java的数据类型,以便我可以将值存储在空间数据库的geometry列中

以下是我的代码片段:

    String query="select geom from apmandal where mandalname='"+mname+"'";
    ResultSet rs=st.executeQuery(query);
    rs.next();
    Geometry geomval=rs.getXXX();
请建议一个getXXX()方法,以便我可以检索几何体列值

提前谢谢

根据评论编辑:

String query = "select geom from apmandal order by area desc;"; 
ResultSet rs = st0.executeQuery(query); 
rs.next(); 
String geomval = rs.getString(1).toString(); 
String newquery = "insert into test(mname, geom) values('ZAHEERABAD','"+geomval+"');"; 
int tel = st1.executeUpdate(newquery); 
System.out.println("inserted "+tel+" record");

您可以简单地转换为
文本
表示:

String query="select geom::text from apmandal where mandalname='"+mname+"'";
String query=“选择apmandal中的geom::text,其中mandalname=”+mname+”
然后,您可以像对待任何其他文本一样对待它。
我引述:

至少从PostgreSQL 8.3开始,所有内容都可以转换为文本 (大概是因为神秘的未知类型),所以没有定义类型 因此,您需要将对象转换为文本


您可以简单地转换为
文本
表示:

String query="select geom::text from apmandal where mandalname='"+mname+"'";
String query=“选择apmandal中的geom::text,其中mandalname=”+mname+”
然后,您可以像对待任何其他文本一样对待它。
我引述:

至少从PostgreSQL 8.3开始,所有内容都可以转换为文本 (大概是因为神秘的未知类型),所以没有定义类型 因此,您需要将对象转换为文本


非常感谢@Erwin!!我刚弄明白然后回来通知。。我直接用Java实现了它。。我的代码如下所示
query=“按区域描述从订单中选择几何图形;”
ResultSet rs=st0.executeQuery(查询)
rs.next()
String geomval=rs.getString(1.toString()
String newquery=“插入测试(mname,geom)值('ZAHEERABAD','“+geomval+”);”
inttel=st1.executeUpdate(newquery)
System.out.println(“插入的”+tel+“记录”)现在我从您那里学到了新的查询。。非常感谢:)非常感谢@Erwin!!我刚弄明白然后回来通知。。我直接用Java实现了它。。我的代码如下所示
query=“按区域描述从订单中选择几何图形;”
ResultSet rs=st0.executeQuery(查询)
rs.next()
String geomval=rs.getString(1.toString()
String newquery=“插入测试(mname,geom)值('ZAHEERABAD','“+geomval+”);”
inttel=st1.executeUpdate(newquery)
System.out.println(“插入的”+tel+“记录”)现在我从您那里学到了新的查询。。非常感谢:)