The GML3 encoder does not handle 3D geometry correctly. Reason is that it does not check true geometry dimension, and does not use an internal DirectPosition representation capable of carrying the 3rd dimension data.
- use CoordinateSequence as the internal representation of DirectPosition points and lists, to capture dimension data correctly.
This also avoids creation of DirectPosition2D objects
- check true Geometry dimension for encoding all geometry elements
- GML3 Geometry unit tests extended to check for dimension and ordinate list correctness