Interesting, well that may be your issue?  4326 is a two-dimensional SRS,
please make use of a three dimensional SRS.

What does the SRID number say in PostGIS? It should be baked into each
geometry (and should not work if if set to 4326). I guess it could be that
you have a two dimensional XY geometry, with two measures depends how you
have encoded it.

-=
Jody

On Tue, Dec 6, 2022 at 12:35 AM Hans Yperman <hans.yper...@vliz.be> wrote:

> Thanks for your help, Jody
>
>
>
> The data is indeed XYZM,  and the srid is 4326.
>
>
>
>
>
> For reference: This is the full constraint on the column:
>
> constraint enforce_dims_the_geom
>     check (st_ndims(the_geom) = 4)
> constraint enforce_geotype_the_geom
>     check ((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS
> NULL))
> constraint enforce_srid_the_geom
>     check (st_srid(the_geom) = 4326)
>
>
>
> This is a small fragment of the data (note I get the crash even on an
> empty table):
>
>
>
> SELECT *st_astext*(the_geom) FROM the_relevant_table LIMIT 1
>
>
>
> MULTIPOLYGON ZM (((  .. numbers ..)))
>
>
>
> Hans
>
>
>
>
>
> *Hans Yperman*
>
> Department IT
>
>
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
> *Vlaams Instituut voor de Zee vzw*
>
> InnovOcean Campus, Jacobsenstraat 1
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
> 8400 Oostende, België
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
>
>
> ☎+32 (0) 59 33 61 13
>
> 📧 hans.yper...@vliz.be
>
> *www.vliz.be* <http://www.vliz.be>
>
>
>
>
>
> *From:* Jody Garnett <jody.garn...@gmail.com>
> *Sent:* maandag 5 december 2022 14:45
> *To:* Hans Yperman <hans.yper...@vliz.be>
> *Cc:* Geoserver-users <geoserver-users@lists.sourceforge.net>
> *Subject:* Re: [Geoserver-users] Output dimension must be 2 or 3
>
>
>
> We added support for dimensions and measures in that timeframe.  It looks
> like your geometry is setup with 4 dimensions - which is not supported.
>
>
>
> What is your coordinate reference system or SRID?
>
>
>
> Is your data XYZM?
>
>
>
> Jody
>
>
>
> On Mon, Dec 5, 2022 at 4:00 AM Hans Yperman <hans.yper...@vliz.be> wrote:
>
> 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
>
>
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
> *Vlaams Instituut voor de Zee vzw*
>
> InnovOcean Campus, Jacobsenstraat 1
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
> 8400 Oostende, België
> <https://www.google.com/maps/search/Jacobsenstraat+1+%0D%0A+8400+Oostende,+Belgi%C3%AB?entry=gmail&source=g>
>
>
>
> ☎+32 (0) 59 33 61 13
>
> 📧 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
>
> --
>
> --
>
> Jody Garnett
>
-- 
--
Jody Garnett
_______________________________________________
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