GEOS

GEOS is a C/C++ library for spatial computational geometry of the sort generally used by “geographic information systems” software. GEOS is a core dependency of PostGIS, QGIS, GDAL, and Shapely.

Capabilities

Spatial Model and Functions

  • 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.

API Features

  • C API (provides long-term API and ABI stability)
  • C++ API (will likely change across versions)
  • Thread safety (using the reentrant API)

License

GEOS is open source software available under the terms of GNU Lesser General Public License (LGPL).

Citation

To cite GEOS in publications use:

GEOS contributors (2021). GEOS computational geometry library. Open Source Geospatial Foundation. URL https://libgeos.org/.

A BibTeX entry for LaTeX users is

@Manual{,
  title = {{GEOS} coordinate transformation software library},
  author = {{GEOS contributors}},
  organization = {Open Source Geospatial Foundation},
  year = {2021},
  url = {https://libgeos.org/},
}