This is a tough call .. one way to handle it would be in the 2.5 D case use the CRS should constrain the equals test to only the first 2 dimensions (and ignore the 3rd ordinate regardless of what kind of value it is?).
I think Martin has the right idea here (for the DirectPosition.equals( Object ) method), their may be a use for a DirectPosition.equals( Position ) method which performs the CRS aware comparison.... You are in a better position to appreciate the difference than me ... it is the same tradeoff between Geometry.equals( Object ) and Geometry.equals( TransfiniteSet ). Cheers, Jody Graham Davis wrote: > I think that we should consider positions with similar NaN ordinates to > be equal. Currently you can create a DirectPosition without > initializing ordinates, and they will be filled with Double.NaN. If you > then compare these positions, or enter values for only 1 of 2 ordinates > (or only 2of 3, etc), these positions would not be considered equal if > we change this. This might be especially important for 2.5 Dimension > positions. > > Consider this example, you have two points in 2.5 Dimensions (x, y and > some non-spatial value to be stored in z). If you create the positions > with the same x and y values, but do not have a value to enter for the z > dimension yet, should these positions not be considered equal at this > point? The z ordinates will be NaN. > > So, I think I should leave this last part of the DirectPosition equals > method the same. What do you think? > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
