[postgis-users] JDBC and array of points

Sumit Raja sumit.raja at raja-consulting.co.uk
Thu Feb 21 00:48:29 PST 2013


Hi,

Postgresql 9.2 and Postgis 2.0 handling of arrays seems different. I have
code that generates a PreparedStatement that accepts an array of points in
an ANY clause. I convert the point objects in java to a string
"POINT(lon,lat)" and use this in the createArrayOf JDBC method.

Unfortunately this doesn't work any more (used to work on 9.1 + 1.5). The
statement generated is

{"POINT (51.495727 -0.247342)","POINT (1.495727 52.247342)","POINT
(51.495727 -34.247342)"}

 which results in "ERROR:  malformed array literal".

How can I fix this issue? In psql simply using the ARRAY[] operator with
relevant casting seems to work (SELECT ARRAY['POINT(-71.064544
42.28787)'::geography]) but as JDBC uses the {} operator I can't see how to
make this work.

Any one have any ideas?

Sumit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20130221/5b81a6bc/attachment.html>


More information about the postgis-users mailing list