Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running this simple query

select id,gid from dijkstra_sp('roads',22,33)

This works perfectly fine and returns results in postgres query terminal. However running exactly the same query in java triggers the error:

Could anyone tell me how to solve this issue?

yours sincerely.

share|improve this question

I am not familiar with JDBC PostgreSQL driver, but it seems that JDBC driver compile PL/pgSQL function at runtime, and another type("geoms") compiling is fail.

If you want to get the same result, try the following plain query instead of above query.

SELECT ROW_NUMBER() OVER()::integer AS id, gid 
    FROM shortest_path(
        'SELECT gid AS id,
            source::integer,
            target::integer,
            length::double precision AS cost
            FROM roads',
         22, 33, false, false), roads
    WHERE edge_id = gid;
share|improve this answer

I figure out what I was doing wrong. I needed to add the datatypes to the connection so that postgres jdbc driver understands the new datatypes. Simply I added

((org.postgresql.PGConnection)SQLConnectionOBJ ).addDataType("box3d",PGbox3d.class); ((org.postgresql.PGConnection)SQLConnectionOBJ ).addDataType("geoms",PGgeometry.class);

and it worked like charm. Thank you sanak for your answer.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                    <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2016 Stack Exchange Inc; user contributions licensed under <a href=\"https://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2016.4.29.3525\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Geographic Information Systems Stack Exchange works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\">"], "copyright__copyright__copyright": ["nderstands the new datatypes. Simply I added\n\n((org.postgresql.PGConnection)SQLConnectionOBJ ).addDataType(\"box3d\",PGbox3d.class); ((org.postgresql.PGConnection)SQLConnectionOBJ ).addDataType(\"geoms\",PGgeometry.class);\n\nand it worked like charm. Thank you sanak for your answer.\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}