ArticleslgStudy

mathematics

JTS Topology Suite

JTS Topology Suite is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand JTS Topology Suite rather than just read about it. In short: JTS Topology Suite (Java Topology Suite) 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 vector-based geomatics software such as geographical information systems.

Key takeaways

  • JTS Topology Suite belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect JTS Topology Suite to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of JTS Topology Suite from memory before moving on to harder problems.

Reference excerpt

JTS Topology Suite (Java Topology Suite) 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 vector-based geomatics software such as geographical information systems. It can also be used as a general-purpose library providing algorithms in computational geometry. JTS implements the geometry model and API defined in the OpenGIS Consortium Simple Features Specification for SQL. JTS defines a standards-compliant geometry system for building spatial applications; examples include viewers, spatial query processors, and tools for performing data validation, cleaning and integration. In addition to the Java library, the foundations of JTS and selected functions are maintained in a C++ port, for use in C-style linking on all major operating systems, in the form of the GEOS software library. Up to JTS 1.14, and the GEOS port, are published under the GNU Lesser General Public License (LGPL). With the LocationTech adoption future releases will be under the EPL/BSD licenses.

Scope JTS provides the following functionality:

Geometry model Geometry classes support modelling points, linestrings, polygons, and collections. Geometries are linear, in the sense that boundaries are implicitly defined by linear interpolation between vertices. Geometries are embedded in the 2-dimensional Euclidean plane. Geometry vertices may also carry a Z value. User-defined precision models are supported for geometry coordinates. Computation is performed using algorithms which provide robust geometric computation under all precision models.

Geometric functions Topological validity checking Area and Distance functions Spatial Predicates based on the Egenhofer DE-9IM model Overlay functions (including intersection, difference, union, symmetric difference) Buffer computation (including different cap and join types) Convex hull Geometric simplification including the Douglas–Peucker algorithm Geometric densification Linear referencing Precision reduction Delaunay triangulation and constrained Delaunay triangulation Voronoi diagram generation Smallest enclosing rectangle Discrete Hausdorff distance

Spatial structures and algorithms Robust line segment intersection Efficient line arrangement intersection Efficient point in polygon Spatial index structures including quadtree and STR-tree Planar graph structures and algorithms

I/O capabilities Reading and writing of WKT, WKB and GML formats

History Funding for the initial work on JTS was obtained in the Fall 2000 from GeoConnections and the Government of British Columbia, based on a proposal put forward by Mark Sondheim and David Skea. The work was carried out by Martin Davis (software design and lead developer) and Jonathan Aquino (developer), both of Vivid Solutions at the time. Since then JTS has been maintained as an independent software project by Martin Davis. Since late 2016/early 2017 JTS has been adopted by LocationTech.

Projects using JTS GeoServer GeoTools OpenJUMP and forks uDig gvSIG Batik Hibernate Spatial Whitebox Geospatial Analysis Tools

Platforms JTS is developed under the Java JDK 1.4 platform. It is 100% pure Java. It will run on all more recent JDKs as well. JTS has been ported to the .NET Framework as the Net Topology Suite. A JTS subset has been ported to C++, with entry points declared as C interfaces, as the GEOS library.

C/C++ port: GEOS GEOS is the C/C++ port of a subset of JTS and selected functions. It is a foundation component in a software ecosystem of native, compiled executable binaries on Linux, Mac and Windows platforms. Due to the runtime construction of Java and the Java Virtual Machine (JVM), code libraries that are written in Java are basically not usable as libraries from a standardized cross-linking environment (often built from C). Linux, Microsoft Windows and the BSD family, including Mac OSX, use a linking structure that enables libraries from various languages to be integrated (linked) into a native runtime executable. Java, by design, does not participate in this interoperability without unusual measures (JNI).

Applications using GEOS GEOS links and ships internally in popular applications listed below; and, by delineating and implementing standards-based geometry classes available to GDAL, which in turn is a widely supported inner-engine in GIS, GEOS becomes a core geometry implementation in even more applications:

GDAL - OGR - raster and vector data munging QGIS - Desktop cross-platform, open source GIS PostGIS - spatial types and operations for PostgreSQL GeoDjango – Django's support for GIS-enabled databases Google Earth – A virtual globe and world imaging program GRASS GIS Library and Application MapServer - an open source development environment for building spatially enabled internet applications World Wind Java – NASA's open source virtual globe and world imaging technology Orfeo toolbox – A satellite image processing library R – Open source statistical software with extensions for spatial data analysis. SAGA GIS A cross-platform open source GIS software

See also DE-9IM, a topological model Geospatial topology

References

External links Official website Net Topology Suite Home page GEOS Home page

Worked examples

Example 1 — a first encounter with JTS Topology Suite

Start with the simplest possible case. Write down what JTS Topology Suite claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to JTS Topology Suite before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about JTS Topology Suite ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of JTS Topology Suite

In research
JTS Topology Suite appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses JTS Topology Suite in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
JTS Topology Suite is common in secondary-school and first-year university syllabi. It links to neighbouring topics Application programming interfaces, Free software programmed in Java, Geographic data and information software, so understanding it makes those chapters shorter.
In everyday life
Look for JTS Topology Suite outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “JTS Topology Suite” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study JTS Topology Suite in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what JTS Topology Suite means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain JTS Topology Suite out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is JTS Topology Suite in simple terms?

JTS Topology Suite (Java Topology Suite) 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 vector-based geomatics software suc…

Why does JTS Topology Suite matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study JTS Topology Suite?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on JTS Topology Suite.

Tags

  • Application programming interfaces
  • Free software programmed in Java
  • Geographic data and information software
  • Geometric algorithms
  • Geometric topology

Keep exploring