[postgis-users] adding JTS geometries to a PostGIS database

nicolas.neubauer at nokia.com nicolas.neubauer at nokia.com
Wed Mar 28 01:52:41 PDT 2012


Hello,

I'm using the Java Topology Suite (JTS) and I want to store geometries with PostGIS. How do I do that? 

What works:
  statement = conn.prepareStatement("INSERT INTO sometable (geofield) values (?)");
  org.postgis.PGgeometry m = new org.postgis.PGgeometry(myJtsGeometry.toText());
  statement.setObject(1, m);
  statement.execute();

What I would prefer:
  statement.setObject(1, myJtsGeometry);
  statement.execute();             

According to http://postgis.refractions.net/documentation/javadoc/org/postgis/DriverWrapper.html, the DriverWrapper is supposed to take care of the wrapping. However, even when I add
  DriverWrapper.addGISTypes80((org.postgresql.PGConnection)conn);
I get the error message
  Can't infer the SQL type to use for an instance of com.vividsolutions.jts.geom.MultiPolygon. Use setObject() with an explicit Types value to specify the type to use.
I am connecting to 
  jdbc:postgresql_postGIS://localhost:5432/
The driver class is 
  org.postgis.DriverWrapper

What am I missing? Or is the first, working way the right one? Seems like a waste of time to me, converting binary -> text -> binary...
 
Thanks
Nicolas



More information about the postgis-users mailing list