[postgis-devel] PostGIS-JDBC

Thomas Marti (HSR) tmarti at hsr.ch
Mon Oct 30 23:20:50 PST 2006

Hello everyone

As we are continuing our work on JPOX-Spatial we've stumbled across some issues 
with the PostGIS-JDBC classes.

1) The Javadoc of Geometry.setSrid() defines, that the SRID will be set 
recursively, but that's not reflected in the implementation. I have attached a 
patch that fixes this. Another solution would be to add a new method 
setSridRecursively() or the like, if both behaviours (recursive and non-recursive 
srid setting) are needed...

2) At the moment the only way to get the JDBC driver, is to either download the 
sources and build it yourself or to install PostGIS and then go dig for the 
JAR-file. In our opinion it would be much better to have a separate download for 
that, as for example the PostgreSQL project has (http://jdbc.postgresql.org/). 
Even better would be to put the JARs in a public Maven repository, so Java 
developers would only have to put the dependency in their POM files and the rest 
is then taken care of by Maven.

We understand that this probably needs some time to be thought about, but it would 
be very convenient for us if we had a decision on a naming schema rather quickly. 
So that we won't have to change everything if you eventually do decide to publish 
to a Maven repository. What is needed for the names is a groupId (probably 
'postgis' or 'org.postgis') and an artifactId for every JAR (e.g. 
'postgis'/'postgis_jts', 'postgis-jdbc'/'postgis-jts-jdbc', 
'postgis-driver'/'postgis-jts-driver' or the like...)

3) There's a fair bit of duplication in BinaryWriter/JtsBinaryWriter and 
BinaryParser/JtsBinaryParser. Wouldn't it make sense to refactor out a super 
class? We'd be willing to volunteer for the job, because we want to write a 
separate Writer/Parser combo for Oracle's JGeometry anyway.

Index: ComposedGeom.java
--- ComposedGeom.java	(revision 2520)
+++ ComposedGeom.java	(working copy)
@@ -262,4 +262,12 @@
              return false;
+    public void setSrid(int srid) {
+        super.setSrid(srid);
+        for (int i = 0; i < subgeoms.length; i++) {
+            subgeoms[i].setSrid(srid);
+        }
+    }

More information about the postgis-devel mailing list