我正在尝试使用postgresql-8.4,postgis-2.0和gt-imagemosaic-jdbc-9.1.jar支持在geoserver-2.3.1中获取postgis栅格图层。我正在使用我拥有的PNG光栅来完成教程。在最后一步,我遇到了一个java异常......真的不明白它是什么!?我已经尝试了其他jdbc-postgresql驱动程序和更少的瓷砖,但错误似乎每次都会出现。
这是输出!任何解释?欢迎各方面的帮助。感谢
java -jar ~rdfs_run/geoserver/geoserver-2.3.1/webapps/geoserver/WEB-INF/lib/gt-imagemosaic-jdbc-9.1.jar import -config ~rdfs_run/geoserver/geoserver-2.3.1/data_dir/coverages/postgis/aveiro.postgis.xml -spatialTNPrefix tileaveiro -tileTNPrefix tileaveiro -dir tiles -ext png
Apr 28, 2013 8:50:34 PM org.geotools.gce.imagemosaic.jdbc.Import logInfo
INFO: Truncating table : tileaveiro_0
Apr 28, 2013 8:50:34 PM org.geotools.gce.imagemosaic.jdbc.Import logInfo
INFO: Number of tiles to import: 48
Apr 28, 2013 8:50:34 PM org.geotools.gce.imagemosaic.jdbc.Import logInfo
INFO: Inserted tile AveiroRDFS_rgb_5_8.png : 1/48
...
INFO: Inserted tile AveiroRDFS_rgb_3_8.png : 48/48
java.sql.BatchUpdateException: Batch entry 0 INSERT INTO tileaveiro_0 (location,geom,data) VALUES ('AveiroRDFS_rgb_5_8.png',geomfromwkb(?,4326),?) was aborted. Call getNextException to see the cause.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2746)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1887)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:405)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2893)
at org.geotools.gce.imagemosaic.jdbc.Import.sqlCommit(Import.java:1026)
at org.geotools.gce.imagemosaic.jdbc.Import.fillSpatialTable(Import.java:856)
at org.geotools.gce.imagemosaic.jdbc.Import.start(Import.java:401)
at org.geotools.gce.imagemosaic.jdbc.Toolbox.main(Toolbox.java:46)
答案 0 :(得分:0)
找到答案... gt-imagemosaic-jdbc-9.1插件(来自Geotools)可能不支持PostGIS 2.0:未定义geomfromwkb函数 - 在较新版本中它是st_geomfromwkb。
现在我正在使用较旧的postgis / postgres数据库。