GEOS - Geometry Engine, Open Source
GEOS (Geometry Engine - Open Source) is a C++ port of the JTS Topology Suite (JTS). 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 functions. GEOS provides spatial functionality to many other projects and products.
GEOS is a project of OSGeo.
License
GEOS is available under the terms of GNU Lesser General Public License (LGPL).
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 (will likely change across versions)
- C API (provides long-term ABI stability)
- Thread safe (using the reentrant API)
Download
- 2019/10/10 geos-3.8.0.tar.bz2
- 2019/10/04 geos-3.7.3.tar.bz2
- 2019/10/04 geos-3.6.4.tar.bz2
- 2019/10/04 geos-3.5.2.tar.bz2
- Older versions...
- Nightly snapshot: http://geos.osgeo.org/snapshots/
- Live development: code repository
- PHP bindings: http://git.osgeo.org/gitea/geos/php-geos
Build and Install
Source
- Building on Unix with Autotools
- Building on Unix with CMake
- Building on MINGW64 with CMake
- Building on Windows with NMake NO LONGER SUPPORTED (use CMAKE instead)
- Building on Windows with CMake Latest instructions for VS 2019 in repo A bit outdated
Binaries
- Windows binaries:
- Linux distributions provide packages with GEOS: Debian, Ubuntu, Fedora, Gentoo, openSUSE and other
- PostgreSQL RPM Repository has up2date GEOS (and other GIS related components) packages.
- Binaries /Packages with GEOS for other Unix systems:
- GEOS Framework for Mac OS X 10.5+ provided by William Kyngesburye. Big thanks to William!
- Fink for Mac OS X
- MacPorts for Mac OS X
- Homebrew package manager for Mac OS X
- GEOS ports for FreeBSD
- GEOS pkgsrc packages for NetBSD and other UNIX-like systems including including Solaris, OpenBSD, FreeBSD, OpenBSD, Linux, Darwin and others.
- GEOS binaries from Conan.io - a C/C++ Package Manager
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.
Community
Mailing Lists
- [geos-devel] Subscribe/Unsubscribe | List Archive
- [geos-commits] Subscribe/Unsubscribe | List Archive
IRC
GEOS related channels on FreeNode IRC Network:
Code Repository
- See CodeRepository
Features
- Prepared Geometries
- Geometry Cleaning (Discussion Page)
- Boundary node rule (Discussion Page)
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
- RFC-4 - Code Formatting Style
- RFC-5 - C++11 Compilation Mode
- RFC-6 - Require explicit configure to use the C++ API
- RFC-7 - Use CMake for build system
- RFC-8 - Improve CoordinateSequence? API
- RFC-9 - Restore C++ API as public API (revert RFC-9)
Documentation and Other Information
- GEOS API -- Doxygen-generate API documentation
- Change Log -- Changes and comments from the repository
- Microsoft Visual Studio visualizers
- Applications -- Applications using GEOS
- CodingPatterns Coding Patterns
- GSoC -- Google Summer of Code Ideas (GSOC)
Wiki / Trac Information
- TracGuide -- Built-in Documentation
- The Trac project -- Trac Open Source Project
- Trac FAQ -- Frequently Asked Questions
- TracSupport -- Trac Support
- For a complete list of local wiki pages, see TitleIndex.
Attachments (1)
- FOSSG42018logo.svg (32.1 KB) - added by 22 months ago.
Download all attachments as: .zip