GEOS - Geometry Engine, Open Source

GEOS (Geometry Engine - Open Source) is a C++ port of the  Java Topology Suite (JTS). As such, it aims to contain the complete functionality of JTS in C++. This includes all the  OpenGIS Simple Features for SQL spatial predicate functions and spatial operators, as well as specific JTS enhanced topology functions.

GEOS is available under the terms of  GNU Lesser General Public License (LGPL), and is a project of  OSGeo.

Capabilities Include

  • Geometries: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
  • Predicates: Intersects, Touches, Disjoint, Crosses, Within, Contains, Overlaps, Equals, Covers
  • Operations: Union, Distance, Intersection, Symmetric Difference, Convex Hull, Envelope, Buffer, Simplify, Polygon Assembly, Valid, Area, Length,
  • Prepared geometries (pre-spatially indexed)
  • STR spatial index
  • OGC Well Known Text (WKT) and Well Known Binary (WKB) encoders and decoders.
  • C and C++ API (C API gives long term ABI stability)
  • Thread safe (using the reentrant API)

Download

Build and Install

Source

Binaries

Development

Bug Reporting

You will need an  OSGeo user account to submit bugs here. A "New Ticket" button will appear once you have  logged in.

When  submitting bugs caused by particular geometries (TopologyExceptions, for example), you must submit the geometries that cause the failure, preferably in hex-encoded WKB, so that we can re-produce the failure cases.

Mailing Lists

Code Repository

Features

Governance

The GEOS project is run by a Project Steering Committee made up of developers and contributors to the project and is a project of  OSGeo. Major project decisions are made via a Request for Comments process, where proposals are first documented and then voted on by the steering committee.

  • RFC-1 - Project Steering Committee
  • RFC-2 - Committer Guidelines
  • RFC-3 - Thread Safe CAPI

Documentation and Other Information

Wiki / Trac Information