JTS Topology Suite

Last updated
JTS Topology Suite
Original author(s) Martin Davis
Stable release
1.18.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 26 February 2021;14 months ago (26 February 2021)
Repository
Written in Java
Platform Java SE
Type Library
License Eclipse Public License v.1.0 (starting with 1.15), GNU Lesser General Public License (up to version 1.14)
Website locationtech.github.io/jts/   OOjs UI icon edit-ltr-progressive.svg

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. [2] It can also be used as a general-purpose library providing algorithms in computational geometry. [3]

Contents

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

Spatial structures and algorithms

I/O capabilities

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. [5]

Since late 2016/early 2017 JTS has been adopted by LocationTech.

Projects using JTS

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. [6]

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:

See also

Related Research Articles

A GIS file format is a standard of encoding geographical information into a computer file. They are created mainly by government mapping agencies or by GIS software developers.

Algorithmic topology, or computational topology, is a subfield of topology with an overlap with areas of computer science, in particular, computational geometry and computational complexity theory.

GeoTools is a free software (LGPL) GIS toolkit for developing standards compliant solutions. It provides an implementation of Open Geospatial Consortium (OGC) specifications as they are developed. GeoTools is a contributor to the GeoAPI project - a vendor-neutral set of Java interfaces derived from OGC specifications - and implements a subset of those.

A GIS software program is a computer program to support the use of a geographic information system, providing the ability to create, store, manage, query, analyze, and visualize geographic data, that is, data representing phenomena for which location is important. The GIS software industry encompasses a broad range of commercial and open-source products that provide some or all of these capabilities within various information technology architectures.

Sol Katz American software developer

Sol Katz was an American software developer who pioneered geospatial computer software and left behind a large body of work in the form of computer applications and format specifications while at the U.S. Bureau of Land Management. This early archive provided both source code and applications freely available to the community, including the Windows application PC-MOSS, where MOSS is the earliest known Open Source Geographic Information System. Katz was also a frequent contributor to many geospatial list servers.

Shapefile Geospatial vector data format

The shapefile format is a geospatial vector data format for geographic information system (GIS) software. It is developed and regulated by Esri as a mostly open specification for data interoperability among Esri and other GIS software products. The shapefile format can spatially describe vector features: points, lines, and polygons, representing, for example, water wells, rivers, and lakes. Each item usually has attributes that describe it, such as name or temperature.

JUMP GIS

JUMP is a Java based vector and raster GIS and programming framework. Current development continues under the OpenJUMP name.

Simple Features is a set of standards that specify a common storage and access model of geographic feature made of mostly two-dimensional geometries used by geographic information systems. It is formalized by both the Open Geospatial Consortium (OGC) and the International Organization for Standardization (ISO).

A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data. Most spatial databases allow the representation of simple geometric objects such as points, lines and polygons. Some spatial databases handle more complex structures such as 3D objects, topological coverages, linear networks, and TINs. While typical databases have developed to manage various numeric and character types of data, such databases require additional functionality to process spatial data types efficiently, and developers have often added geometry or feature data types. The Open Geospatial Consortium (OGC) developed the Simple Features specification and sets standards for adding spatial functionality to database systems. The SQL/MM Spatial ISO/IEC standard is a part the SQL/MM multimedia standard and extends the Simple Features standard with data types that support circular interpolations.

The Open Source Geospatial Foundation (OSGeo), is a non-profit non-governmental organization whose mission is to support and promote the collaborative development of open geospatial technologies and data. The foundation was formed in February 2006 to provide financial, organizational and legal support to the broader Free and open-source geospatial community. It also serves as an independent legal entity to which community members can contribute code, funding and other resources.

GDAL Translator library for raster and vector geospatial data formats

The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats. It may also be built with a variety of useful command line interface utilities for data translation and processing. Projections and transformations are supported by the PROJ library.

Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping, facilities management, and geographic information systems (AM/FM/GIS), to wireless location services and location-enabled e-business. The graph features in Oracle Spatial and Graph include Oracle Network Data Model (NDM) graphs used in traditional network applications in major transportation, telcos, utilities and energy organizations and RDF semantic graphs used in social networks and social interactions and in linking disparate data sets to address requirements from the research, health sciences, finance, media and intelligence communities.

In geographic information systems (GIS) and spatial analysis, buffer analysis is the determination of a zone around a geographic feature containing locations that are within a specified distance of that feature, the buffer zone. A buffer is likely the most commonly used tool within the proximity analysis methods.

A geographic data model, geospatial data model, or simply data model in the context of geographic information systems, is a mathematical and digital structure for representing phenomena over the Earth. Generally, such data models represent various aspects of these phenomena by means of geographic data, including spatial locations, attributes, change over time, and identity. For example, the vector data model represents geography as collections of points, lines, and polygons, and the raster data model represent geography as cell matrices that store numeric values. Data models are implemented throughout the GIS ecosystem, including the software tools for data management and spatial analysis, data stored in a variety of GIS file formats, specifications and standards, and specific designs for GIS installations.

DE-9IM

The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological model and a standard used to describe the spatial relations of two regions, in geometry, point-set topology, geospatial topology, and fields related to computer spatial analysis. The spatial relations expressed by the model are invariant to rotation, translation and scaling transformations.

The following outline is provided as an overview of and topical guide to formal science:

Geospatial topology Type of spatial relationship

Geospatial topology is the study and application of qualitative spatial relationships between geographic features, or between representations of such features in geographic information, such as in geographic information systems (GIS). For example, the fact that two regions overlap or that one contains the other are examples of topological relationships. It is thus the application of the mathematics of topology to GIS, and is distinct from, but complimentary to the many aspects of geographic information that are based on quantitative spatial measurements through coordinate geometry. Topology appears in many aspects of geographic information science and GIS practice, including the discovery of inherent relationships through spatial query, vector overlay and map algebra; the enforcement of expected relationships as validation rules stored in geospatial data; and the use of stored topological relationships in applications such as network analysis. Spatial topology is the generalization of geospatial topology for non-geographic domains, e.g., CAD software.

This glossary of areas of mathematics is a list of sub-discliplines within pure and applied mathematics. Some entries are broad topics, like algebra, while others are narrower in scope, like convex geometry.

References

  1. "Release 1.18.1". 26 February 2021. Retrieved 10 March 2021.
  2. "The 2012 Free and Open Source GIS Software Map – A Guide to facilitate Research, Development and Adoption", S. Steiniger and A.J.S. Hunter
  3. Davis, Martin (September 26, 2007). "Secrets of the JTS Topology Suite" . Retrieved 2017-01-26.
  4. A Formal Definition of Binary Topological Relationships by Max Egenhofer
  5. "History of JTS and GEOS - M. Davis" . Retrieved 2013-05-27.
  6. "JTS | FAQ". locationtech.github.io. Retrieved 2019-07-18.
  7. "SAGA GIS" . Retrieved 29 September 2020.