Module: |
Geometry |
Module Maintainer: |
|
Status: |
|
Email Help: |
Geotools-gt2-users@lists.sourceforge.net |
Volunteer: |
geotools-devel@lists.sourceforge.net |
IP Review: |
The Geometry module is an experimental module implementing ISO 19107 (a.k.a. Topic 1 - Feature Geometry).
Gold Star Quality Assurance Check
IP Check: review.txt added, all headers are in place
Releasable: no blocking issues, but feedback from potential users is appreciated
Quality Assurance: 23.2% test coverage reported by clover
Stability: No planned API changes
Supported: Documentation available, module maintainer does watches user list, answers email.
Module Goals
This implementation is a project of Prof. Dr. Jackson Roehrig and Sanjay Dominik Jena of the University of Applied Sciences Cologne, Germany (Fachhochschule Köln).
We are implementing the Geometry of the ISO19107 with the following goals and limitations:
- implementation of the geometry objects (without TP_xxx topology). Limited to all classes except Solid/SolidBoundary, as well as to LineString/LineSegment as only implementation of CurveSegment.
- general longterm objective is an Implementation that handles 2D, 2.5D and 3D data. Storing data in all dimension is (obviously) not a problem. But there is vast difference between 2D and 3D spatial analyse operations.
- address the problem of limited memory, e.g. offer an interface for later possibility of storing some geometry data in order to relieve the limited memory capabilities (for example a Factory which returns Lists os some GM_xxx objects, the list can be implemented persistent afterwards).
- in some parts we will reuse code of the Java Topology Suite (JTS) and adopt to the Feature Geometry of the Abstract Specification. We do not "wrap" JTS classes. We copy chosen classes of the JTS under GNU Lesser License and fit these code to our implementation (and try to eleminate redundancies).
- Publicate the implementation under GNU Lesser License terms in the GeoTools project
As there aren´t existing too many approaches for a 19107 GeoAPI implementation yet, this implementation will serve as a test of the capability of the GeoAPI (in fact for TC211 too, since GeoAPI is partially derived from the TC211 specs) as well. Thus, we will report a list of suggestions to GeoAPI / GeoTools in order to contribute a part to the improvement of the GeoAPI by "Best Practise".
IP Review
IP review is underway - known issue:
Module Status
|
Sources published at the moment are not in a final state and were posted to share the approach with other developers and help as a reference in implementation discussions. They may still be extended, modified and refactored. |
Graham Davis has a mandate to bring this module up to supported status:
- coverage testing
- conformance testing (based on JTS testing)
- fixing bugs
- implementing missing code
- user documentation
The JTS XML tests have been imported, and a test suite has been created to run them. The following is the current status of which tests pass/fail and their associated bugs:
Tests
Status |
XML File |
Failing Tests |
Related Bug |
|---|---|---|---|
|
LineTests.xml |
0/5 |
|
|
PolygonTests.xml |
0/6 |
|
|
PolygonWithHoleTests.xml |
0/6 |
|
|
SimplePolygonTest.xml |
0/6 |
|
|
TestBoundary.xml |
0/12 |
|
|
TestCentroid.xml |
0/19 |
|
|
TestConvexHull-big.xml |
0/1 |
|
|
TestConvexHull.xml |
0/12 |
|
|
TestFunctionAA.xml |
9/48 |
|
|
TestFunctionAAPrec.xml |
6/77 |
|
|
TestFunctionLA.xml |
0/36 |
|
|
TestFunctionLAPrec.xml |
0/6 |
|
|
TestFunctionLL.xml |
1/39 |
|
|
TestFunctionLLPrec.xml |
0/2 |
|
|
TestFunctionPA.xml |
0/13 |
|
|
TestFunctionPL.xml |
0/27 |
|
|
TestFunctionPLPrec.xml |
0/1 |
|
|
TestFunctionPP.xml |
0/37 |
|
|
TestInteriorPoint.xml |
0/7 |
|
|
TestRectanglePredicate.xml |
0/23 |
|
|
TestRelateAA-big.xml |
0/2 |
|
|
TestRelateAA.xml |
2/109 |
|
|
TestRelateAA_general.xml |
0/12 |
|
|
TestRelateAC.xml |
0/1 |
|
|
TestRelateAC_general.xml |
0/1 |
|
|
TestRelateLA.xml |
0/77 |
|
|
TestRelateLA_general.xml |
0/11 |
|
|
TestRelateLC.xml |
0/4 |
|
|
TestRelateLC_general.xml |
0/4 |
|
|
TestRelateLL.xml |
0/144 |
|
|
TestRelateLL_general.xml |
1/20 |
|
|
TestRelatePA.xml |
2/42 |
|
|
TestRelatePA_general.xml |
0/6 |
|
|
TestRelatePL.xml |
0/98 |
|
|
TestRelatePL_general.xml |
0/8 |
|
|
TestRelatePP.xml |
0/13 |
|
|
TestRelatePP_general.xml |
0/4 |
|
|
TestWithinDistance.xml |
0/22 |
|
|
Totals: |
21/961 |
|
Current Bugs
Status |
Bug Description |
link |
|---|---|---|
|
PolygonBuilder fails when constructing geometry with holes after a union or symdifference operation |
|
|
some relate() operations return incorrect results |
|
|
some intersects/intersection operations return inccorect results |
|
|
the distance method is not implemented |
Outstanding Issues
Issues pertaining to GeoTools Geometry implementations:
Potentially relevant issues pertaining to the GeoAPI interfaces implemented by this code: