[postgis-users] problem using spatial queries with JDBC
Just van den Broecke
just at justobjects.nl
Sun Feb 4 09:10:20 PST 2007
Hi,
All issues resolved! Basically two problems related to my use of the
PostGIS PDF manual:
- reversed single quotes in the PDF (` i.s.o ') copy/pasted
- PDF version was out of date w.r.t. GeomFromText/BOX3D (should be
SetSRID/BOX3D as the HTML is stating in section 4.4.1)
Found most in this thread:
http://postgis.refractions.net/pipermail/postgis-users/2006-May/012048.html
Just
Just van den Broecke wrote:
> Hi,
>
> I've setup PostGIS with JDBC (see info below). Standard inserts/queries
> and adding spatial indexes work and I'm using the PGgeometryLW class.
> Only when I start using spatial queries/operators/functions that some
> issues arise that I'm puzzled about. I've also tried the same queries
> from the psql commandline. The table "spatialone" has columns "name" and
> "point" (POINT 2D)
>
> Example 1:
> // find points within boxed 100m distance
> SELECT name,point FROM spatialone WHERE point &&
> Expand(GeomFromText('POINT(2 3)',4326), 100);
>
> this works as expected, both using JDBC (points returning
> PGgeometryLW's) and psql.
>
> Example 2:
> // find points in radius of 100m
> SELECT name,AsText(point) AS point FROM spatialone WHERE point &&
> Expand(GeomFromText('POINT(2 3)',4326), 100) AND
> Distance(GeomFromText('POINT(2 3)',4326),point) < 100;
>
> this works using psql but gives a parse error in JDBC:
> org.postgresql.util.PSQLException: ERROR: syntax error at or near "2"
> Here's where the puzzlement begins.
>
> Example 3:
> // Find features in bounding box
> SELECT name,point FROM spatialone WHERE point && GeomFromText(’BOX3D(1
> 2, 5 6)’::box3d,4326);
>
> this gives the same parse error as ex 2 in JDBC but also an error in psql:
> ERROR: function geomfromtext(box3d, integer) does not exist
> HINT: No function matches the given name and argument types. You may
> need to add explicit type casts.
>
> I tried some variants of the latter query but to no avail. The queries
> come from the PostGIS manual/FAQ and seem ordinary. I may be overlooking
> something (registering types with the JDBC connection?) or am dealing
> with incompatibilities or should upgrade. Any help appreciated. best,
>
> --Just
>
> Just van den Broecke
> http://www.justobjects.nl
>
> JDBC
> driver: org.postgis.DriverWrapperLW
> protocol: jdbc:postgresql_lwgis
>
> ---------- Version info --------------
> ** PostGIS jdbc client code **
> getFullVersion: PostGIS JDBC V1.1.0
>
> ** PGJDBC Driver **
> getVersion: PostgreSQL 8.1 JDBC3 with SSL (build 407)
> getMajorVersion: 8
> getMinorVersion: 1
>
> ** PostgreSQL Server **
> version: PostgreSQL 8.1.3 on i686-apple-darwin8.7.1, compiled by GCC
> i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)
>
> ** PostGIS Server **
> postgis_version: 1.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
> postgis_proj_version: Rel. 4.4.9, 29 Oct 2004
> postgis_scripts_installed: 1.1.1
> postgis_lib_version: 1.1.1
> postgis_scripts_released: 1.1.1
> postgis_uses_stats: t
> postgis_geos_version: 2.2.1-CAPI-1.0.1
> postgis_scripts_build_date: 2006-10-04 08:22:06
> postgis_lib_build_date: 2006-10-04 08:22:06
> postgis_full_version: POSTGIS="1.1.1" GEOS="2.2.1-CAPI-1.0.1"
> PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS
>
>
>
>
>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
More information about the postgis-users
mailing list