I have a simple GridGeometry2D in Geotools 13.1 that is created like this:

GridEnvelope grid = new GridEnvelope2D(0, 0, 100, 100);
Envelope2D envelope = new Envelope2D(CRS.decode("EPSG:3857"), 10.0, 10.0, 1.0, 1.0);
GridGeometry2D geom = new GridGeometry2D(grid, envelope);

For a quick test, I'm trying to find the grid coordinates for point (10.0, 10.0):

DirectPosition out = geom.getCRSToGrid2D().transform(
                (DirectPosition) new DirectPosition2D(10.0, 10.0), 
                (DirectPosition) new DirectPosition2D());

I expected the result for the x field to be 0.5 (since the default pixel anchoring mode is center), but instead this happened:

DirectPosition2D[-0.5000000000001137, 99.5]

I understand that the 99.5 is probably because the GridGeometry2D considers that y coordinates increase towards the north, but the GridEnvelope2D ycoordinates apparently increase towards the south (as it is common in image processing).

What I don't understand is why the x coordinate is negative if the minimal x for my grid is 0. Why is this happening?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.