Hello everybody,

after upgrading from geoserver 2.11 to geoserver 2.22, we have a few postgis 
layers that refuse to render in the preview.

Here is a simplified example, in postgis:

create table testhy(
    geometry   geometry constraint enforce_dims_the_geom check 
(st_ndims(geometry) = 4)
);

We get this exception:
Caused by: java.lang.IllegalArgumentException: Output dimension must be 2 or 3
        at org.locationtech.jts.io.WKBWriter.<init>(WKBWriter.java:291)
        at org.locationtech.jts.io.WKBWriter.<init>(WKBWriter.java:270)
        at org.locationtech.jts.io.WKBWriter.<init>(WKBWriter.java:240)
        at 
org.geotools.data.postgis.PostGISPSDialect.setGeometryValue(PostGISPSDialect.java:253)
        at 
org.geotools.jdbc.JDBCDataStore.setPreparedFilterValues(JDBCDataStore.java:3810)
        at org.geotools.jdbc.JDBCDataStore.selectSQLPS(JDBCDataStore.java:3728)
        at 
org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:609)

I browsed the code.  geoserver gets dimension 4 based on a variant of this 
query (PostGISDialect.java):

SELECT *  FROM GEOMETRY_COLUMNS WHERE coord_dimension not in (2,3);

but the query generated by geoserver to fetch the data is :
SELECT ST_AsBinary(ST_Force2D("geometry")) as "geometry" FROM "public"."testhy" 
WHERE […]

Note the ST_Force2D that removes the Z and M dimension, so there are only 2 
dimensions, not 4.




Hans Yperman
Department IT
[cid:image001.png@01D908A5.ADA83B90]
Vlaams Instituut voor de Zee vzw
InnovOcean Campus, Jacobsenstraat 1
8400 Oostende, België

☎+32 (0) 59 33 61 13
📧 hans.yper...@vliz.be<mailto:hans.yper...@vliz.be>
www.vliz.be<http://www.vliz.be>


_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to