Issue Details (XML | Word | Printable)

Key: GEO-7
Type: Task Task
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Martin Desruisseaux
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
GeoAPI

Document compliance level for geometry methods

Created: 31/Aug/04 06:45 PM   Updated: 25/May/06 04:46 PM
Component/s: geometry
Affects Version/s: 1.0, 2.0
Fix Version/s: None

Time Tracking:
Not Specified


 Description  « Hide
We can't expect everyone to implements all ISO 19107 methods. Some methods should be clearly documented as optional (i.e. it may or may not work depending of the implementation). The ISO 19107 specification defines different conformance level. We should investigate how we could document those level in GeoAPI. One possible way to do that is through UnsupportedOperationException subclasses. For example we could defines the following exceptions:

UnsupportedLevel1OperationException
UnsupportedLevel2OperationException

(we should look for some better name). All methods that are mandatory only for compliance level 2 would have a "throws UnsupportedLevel2OperationException" clause.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Bryce Nordgren added a comment - 25/May/06 04:46 PM
There actually appears to be a 3D grid of conformance levels. Declaring an exception for each grid point is probably going to get out of hand.

Axis0: Geometric Primitives, Geometric Complexes, Topological Complexes, Topological Complexes with Geometric Realization

Axis1: Data types, simple operations, complete operations

Axis2: 0-Dimension, 1-Dimension, 2-Dimension, 3-Dimension

The GeometryFactory could return a Set of tuples (Axis0, Axis1, Axis2) which allow the implementation to declare what the implementation intends to support. This could also be used to help a multipurpose test suite figure out what to test.

There's an "extra" conformance category for Boolean operations.