Please, have a look at https://osgeo-org.atlassian.net/browse/GEOT-6995.
There is an example and also results from debugging the attached example
in Geotools 21.2 and GeoTools 25.2. It shows the reason for the issue I
am having with 25.2
Peter
Am 07.10.2021 um 09:53 schrieb Peter Friess:
Well, ...
I have created a test example. Very simple, just used your Quickstart
and added two statements. I would have uploaded it and created an
issue, but the link
(https://osgeo-org.atlassian.net/jira/software/c/projects/GEOT
<https://osgeo-org.atlassian.net/jira/software/c/projects/GEOT>) you
provided is broken. As I can't upload the example I attached it here.
Peter
Am 07.10.2021 um 09:40 schrieb Ian Turton:
On Wed, 6 Oct 2021 at 18:02, Peter Friess <pk.fri...@t-online.de
<mailto:pk.fri...@t-online.de>> wrote:
Our application is huge. It is not straightforward to create a
test example. Let me respond to what you stated
> This is the problem!!! You should be passing in *3* then the
check would pass!
How should I pass in 3?. All is done inside StreamingRenderer. It
starts with
StreamingRenderer.paint
StreamingRenderer.processStylers
StreamingRenderer.drawPlain
StreamingRenderer.processFeature
StreamingRenderer.processSymbolizers
StreamingRenderer$RenderableFeature.getShape
StreamingRenderer$RenderableFeature.getTransformedShape
and then it calls
LiteCoordinateSequence.cloneGeometry
which then does inside this check and throws an exception.
Means, I do not pass anything. Inside this sequence it uses the
CoordinateReferenceSystem which it gets from
SymbolizerAssociation. This CoordinateReferenceSystem returns as
dimension 2 which then is used in that check. So, I do not pass a
2. It is all done inside StreamingRenderer. The
CoordinateReferenceSystemis is created by CRS.decode(code), again
not my code. As it is a UTM projection the dimension is 2.
=> when I create a 2-dimensional point - new Coordinate(x,y) -
all works fine.
=> when I create a 3-dimensional point - new Coordinate(x,y,z) -
and I do *NOT *load the features into memory;all works fine.
=> when I create a 3-dimensional point - new Coordinate(x,y,z) -
and I do load the points into memory - DataUtilities.source(
DataUtilities.collection(source.getFeatures())) - then the
exception is throw as StreaminReader clones the geometry inside
getTransformedShape.
There is a problem when the geometry gets cloned and when the
Point is 3D but the CoordinateReferenceSystem is 2D. This did
perfectly work in version 21.2. And it does *not *work in 25.2
Shouldn't that be enough information to understand the problem.
It very well might be but certainly I (and I suspect the other
developers) will not expend the effort in our limited spare time to
look into this issue if there is no issue raised and if we have to
try to figure out a test to demonstrate the issue. You might want to
watch a couple of useful videos that explain how this works - The
secret life of open source developers
(https://media.ccc.de/v/bucharest-322-the-secret-life-of-open-source-developers
<https://media.ccc.de/v/bucharest-322-the-secret-life-of-open-source-developers>)
and Earning your support instead of buying it
(https://vimeo.com/144089061 <https://vimeo.com/144089061>)
Ian
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users