The goal is to enable a geoserver WFS request with a 3D bounding box so that we receive only geometries not disjoint with that 3D bounding box.
In other words, there is a min and max for the third coordinate as well as the first two.
In 2D we have in KVP:
However, in 3D we get:
Only 3d geometries that qualify for the min and max pairs for all three axes are returned.
In order to accomplish this, Geotools must support
- 3D Envelopes: a 3D envelope geometry class and a 3D referenced envelope geometry class.
- 3D Bounding Boxes: a 3D Bounding Box has two additional attributes (min z and max z) and filters geometries using all three dimensions.
Voting has started:
- Andrea Aime:
- Ben Caradoc-Davies: +1
- Christian Mueller:
- Ian Turton:
- Justin Deoliveira:
- Jody Garnett: +1
- Simone Giannecchini:
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
- NC: Update API
- NC: Make new implementations
- NC: Review Documentation
The changes are API additions, rather than changes.
There will be the following new interfaces in geoapi:
- BBOX3D, for the 3D bbox filter, subinterface of BBOX
- BoundingBox3D, a subinterface of BoundingBox specifying bounding box coordinates
There will be the following new classes in main
- BBOX3DImpl, implementation of filter interface
- ReferencedEnvelope3D, Extension of ReferencedEnvelope3D, extends JTS Envelope methods to use 3D coordinates and provides referenced envelope support for 3D coordinates
Furthermore, the FIlterFactory interfaces will be extended with the following methods:
- BBOX3D bbox(String propertyName, BoundingBox3D bbox);
- BBOX3D bbox( Expression geometry, BoundingBox3D bbox);
- BBOX3D bbox( Expression geometry, BoundingBox3D bbox, MatchAction matchAction);
list the pages effected by this proposal