JTS Topology Suite

Basics

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please add your feedback in the comments section.

Parent Project: 
Background: 

The JTS Topology Suite (JTS) was initiated in late 2000 with support from GeoConnections and the British Columbia Government in Canada. The original project was sponsored by Dr. Mark Sondheim. Martin Davis served as lead developer and was assisted by Jonathan Aquino, both of Vivid Solutions. Martin Davis has maintained JTS as an independent project since then.  He has added a substantial number of new functionality and performance improvements.  JTS has emerged as the leading Java geometry library, and is used in numerous open source and commercial projects.

Scope: 

The JTS Topology Suite is a Java API of spatial predicates and functions for processing vector geometry.

It has the following design goals:

  • JTS conforms to the Simple Features Specification for SQL published by the Open Geospatial Consortium
  • JTS provides a consistent and robust implementation of fundamental algorithms for processing vector geometry
  • JTS is highly performant due to its use of innovative and optimized geometric algorithms/li>
  • JTS is written in 100% pure Java

JTS also includes:

  • The JTS Test Suite, an extensive set of geometric unit tests for OGC SFS and JTS functions
  • The JTS TestBuilder, a GUI tool for creating, editing, viewing and processing geometry
Description: 

The JTS Topology Suite (JTS) is an open source Java software library that provides an object model for planar geometry together with a set of fundamental geometric functions. JTS conforms to the Simple Features Specification for SQL published by the Open GIS Consortium.  JTS is designed to be used as a core component of vector-based geomatics software such as geographical information systems. It can also be used as a general-purpose library providing algorithms in computational geometry.

Why Here?: 

JTS is a mature and feature-rich library that is very widely used. JTS will benefit applications, services, and libraries both within the LocationTech & Eclipse ecosystems, and beyond.

The governance model and services provided to projects at LocationTech support our goal of promoting JTS adoption as widely as possible. The LocationTech model for business friendly open source resonates with us.

Initial Contribution: 

The Initial contribution is the full source code for the JTS API and associated tools (including the JTS Test Builder and the JTS Test Suite). It is available on SourceForge, is provided by Vivid Solutions under a dual BSD & EPL license.

Project Scheduling: 

JTS plans to relicense and come to LocationTech in Q4, 2013.

Future Work: 

Development Roadmap

Support for Geodetic coordinate systems and operations

Continue to track OGC SFS and ISO 19107 standards

Additional geometric operations, such as:

  • Offset lines
  • Line smoothing
  • Fast distance computation
  • Concave Hull
  • Polygon triangulation

Design an enhanced, more extensible API model

Community building

LocationTech tech talk & YouTube video

Speak at FOSS4G Portland

JTS representation at community building events & code sprints/hackathons

People
Project Leads: 
Interested Parties: 

JTS is very widely used by many open source and commercial products.

  • Vivid Solutions
  • Azavea
  • Boundless