JTS Topology Suite

The JTS Topology Suite (JTS) is an open source Java software library that provides an object model for Euclidean planar linear geometry together with a set of fundamental geometric functions. JTS is primarily intended to be used as a core component of geomatics software such as geographic information systems. JTS implements the geometry model defined in the Open Geospatial Consortium (OGC) Simple Features Specification for SQL.

JTS provides geometry classes modeling points, linestrings, polygons, and collections. All geometries are embedded in the Euclidean plane, and assume linear interpolation between vertices. Geometry vertices may also carry a Z value.

Geometric functions provided include:
 * spatial predicates (based on the DE-9IM model)
 * overlay functions (intersection, difference, union, symmetric difference)
 * buffer
 * convex hull
 * area and distance functions
 * topological validity checking
 * reading and writing of WKT, WKB and  GML formats

The API supports a user-definable precision model and contains code for robust geometric computation. Also included are classes for spatial indexing. The API is 100% Java code (version 1.2 and above).

JTS provides a foundation for building further spatial applications, such as viewers, spatial query processors, and tools for performing data validation, cleaning and integration.

JTS was originally developed by Vivid Solutions, and is now maintained as an independent software project. It is published under the GNU Lesser General Public License.

JTS has been ported to C++ as the GEOS library. It has also been ported to the .NET Framework as the Net Topology Suite.

History
See | History of JTS and GEOS

Projects using JTS

 * Batik
 * GeoServer
 * GeoTools
 * gvSIG
 * OpenJUMP
 * uDig