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
[cid:[email protected]]
Vlaams Instituut voor de Zee vzw
InnovOcean Campus, Jacobsenstraat 1
8400 Oostende, België
☎+32 (0) 59 33 61 13
📧 [email protected]<mailto:[email protected]>
www.vliz.be<http://www.vliz.be>
From: Jody Garnett <[email protected]>
Sent: maandag 5 december 2022 14:45
To: Hans Yperman <[email protected]>
Cc: Geoserver-users <[email protected]>
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
<[email protected]<mailto:[email protected]>> 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
[cid:[email protected]]
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
📧 [email protected]<mailto:[email protected]>
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
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
--
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users