Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Module:

Geometry

Module Maintainer:

Graham Davis, Sanjay Patel

Status:

(red star)(star)(star)(star)(red star)

Email Help:

Geotools-gt2-users@lists.sourceforge.net

Volunteer:

geotools-devel@lists.sourceforge.net

IP Review:

review.txt

The Geometry module is an experimental module implementing ISO 19107 (a.k.a. Topic 1 - Feature Geometry). This implementation of the OGC Feature Geometry Abstract Specification (ISO 19107) is a project of the University of Applied Sciences Cologne (Fachhochschule Köln) in collaboration with GeoTools and GeoAPI. Much of this code was copied from the JTS Topology Suite Version 1.7.2 and modified to work with ISO 19107 interfaces. This reuse is permitted under the terms of GNU Lesser General Public Licence.

For more information on this module please contact:

Prof. Dr. Jackson Roehrig
Institut für Technologie in den Tropen
Fachhochschule Köln
Betzdorfer Strasse 2
D-50679 Köln
Jackson.Roehrig@fh-koeln.de

Sanjay Dominik Jena
san.jena@gmail.com

Gold Star Quality Assurance Check

(red star) IP Check: review.txt added, all headers are in place
(star) Releasable: no blocking issues, etc..
(star) Quality Assurance: 50.1% test coverage reported by clover
(star) Stability: No planned API changes
(red star) Supported: Documentation available, module maintainer 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

Icon

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.

This module is currently in the process of becoming supported. The code is ready, and the final loose ends are being worked on. The module's wiki page, with code examples, is currently here: Geometry Module.

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

(tick)

LineTests.xml

0/5

 

(tick)

PolygonTests.xml

0/6

 

(tick)

PolygonWithHoleTests.xml

0/6

 

(tick)

SimplePolygonTest.xml

0/6

 

(tick)

TestBoundary.xml

0/12

 

(tick)

TestCentroid.xml

0/19

 

(tick)

TestConvexHull-big.xml

0/1

 

(tick)

TestConvexHull.xml

0/12

 

(tick)

TestDisjoint.xml

0/7

 

(tick)

TestFunctionAA.xml

0/48

 

(tick)

TestFunctionAAPrec.xml

0/77

 

(tick)

TestFunctionLA.xml

0/36

 

(tick)

TestFunctionLAPrec.xml

0/6

 

(tick)

TestFunctionLL.xml

0/39

 

(tick)

TestFunctionLLPrec.xml

0/2

 

(tick)

TestFunctionPA.xml

0/13

 

(tick)

TestFunctionPL.xml

0/27

 

(tick)

TestFunctionPLPrec.xml

0/1

 

(tick)

TestFunctionPP.xml

0/37

 

(tick)

TestInteriorPoint.xml

0/7

 

(tick)

TestRectanglePredicate.xml

0/23

 

(tick)

TestRelateAA-big.xml

0/2

 

(tick)

TestRelateAA.xml

0/107

 

(tick)

TestRelateAA_general.xml

0/12

 

(tick)

TestRelateAC.xml

0/1

 

(tick)

TestRelateAC_general.xml

0/1

 

(tick)

TestRelateLA.xml

0/77

 

(tick)

TestRelateLA_general.xml

0/11

 

(tick)

TestRelateLC.xml

0/4

 

(tick)

TestRelateLC_general.xml

0/4

 

(tick)

TestRelateLL.xml

0/144

 

(tick)

TestRelateLL_general.xml

0/20

 

(tick)

TestRelatePA.xml

0/42

 

(tick)

TestRelatePA_general.xml

0/6

 

(tick)

TestRelatePL.xml

0/98

 

(tick)

TestRelatePL_general.xml

0/8

 

(tick)

TestRelatePP.xml

0/13

 

(tick)

TestRelatePP_general.xml

0/4

 

(tick)

TestWithinDistance.xml

0/22

 

 

Totals:

0/966

 

Current Bugs

Status

Bug Description

link

(tick)

PolygonBuilder fails when constructing geometry with holes after a union or symdifference operation

GEOT-1310

(tick)

some relate() operations return incorrect results

GEOT-1311

(tick)

some intersects/intersection operations return inccorect results

GEOT-1313

(tick)

the distance method is not implemented

GEOT-1296

Outstanding Issues

Issues pertaining to GeoTools Geometry implementations:

Loading
Type Key Summary Assignee Reporter Priority Status Resolution Created Updated Due

Potentially relevant issues pertaining to the GeoAPI interfaces implemented by this code:

Loading
Type Key Summary Assignee Reporter Priority Status Resolution Created Updated Due

  • No labels