= GEOS - Geometry Engine, Open Source = {{{ #!html }}} GEOS (Geometry Engine - Open Source) is a C++ port of the [http://tsusiatsoftware.net/jts/main.html Java Topology Suite] (JTS). As such, it aims to contain the complete functionality of JTS in C++. This includes all the [http://www.opengeospatial.org/standards/sfs 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 [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License] (LGPL), and is a project of [http://www.osgeo.org/ 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 == * 2016/10/25 [http://download.osgeo.org/geos/geos-3.6.0.tar.bz2 geos-3.6.0.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.6.0/NEWS Changes]) * 2016/10/25 [http://download.osgeo.org/geos/geos-3.5.1.tar.bz2 geos-3.5.1.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.5.1/NEWS Changes]) * 2013/08/25 [http://download.osgeo.org/geos/geos-3.4.2.tar.bz2 geos-3.4.2.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.4.2/NEWS Changes]) * 2013/09/04 [http://download.osgeo.org/geos/geos-3.3.9.tar.bz2 geos-3.3.9.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.3.9/NEWS Changes]) * 2011/09/21 [http://download.osgeo.org/geos/geos-3.2.3.tar.bz2 geos-3.2.3.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.2.3/NEWS Changes]) * [http://download.osgeo.org/geos/ Older versions...] * Nightly snapshot: http://geos.osgeo.org/snapshots/ * Live development: [CodeRepository code repository] {{{ #!comment * 2015/08/16 [http://download.osgeo.org/geos/geos-3.5.0.tar.bz2 geos-3.5.0.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.5.0/NEWS Changes]) * 2013/08/25 [http://download.osgeo.org/geos/geos-3.4.2.tar.bz2 geos-3.4.2.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.4.2/NEWS Changes]) * 2012/05/31 [http://download.osgeo.org/geos/geos-3.3.4.tar.bz2 geos-3.3.4.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.3.4/NEWS Changes]) * 2013/09/04 [http://download.osgeo.org/geos/geos-3.3.9.tar.bz2 geos-3.3.9.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.3.9/NEWS Changes]) * 2012/01/05 [http://download.osgeo.org/geos/geos-3.3.2.tar.bz2 geos-3.3.2.tar.bz2] * 2011/09/27 [http://download.osgeo.org/geos/geos-3.3.1.tar.bz2 geos-3.3.1.tar.bz2] * 2011/05/30 [http://download.osgeo.org/geos/geos-3.3.0.tar.bz2 geos-3.3.0.tar.bz2] * 2011/09/21 [http://download.osgeo.org/geos/geos-3.2.3.tar.bz2 geos-3.2.3.tar.bz2] ([http://trac.osgeo.org/geos/browser/tags/3.2.3/NEWS Changes]) * 2010/03/30 [http://download.osgeo.org/geos/geos-3.2.1.tar.bz2 geos-3.2.1.tar.bz2] * 2009/12/08 [http://download.osgeo.org/geos/geos-3.2.0.tar.bz2 geos-3.2.0.tar.bz2] * 2009/03/17 [http://download.osgeo.org/geos/geos-3.1.0.tar.bz2 geos-3.1.0.tar.bz2] * 2009/06/15 [http://download.osgeo.org/geos/geos-3.0.4.tar.bz2 geos-3.0.4.tar.bz2] * 2008/11/18 [http://download.osgeo.org/geos/geos-3.0.3.tar.bz2 geos-3.0.3.tar.bz2] * 2008/10/15 [http://download.osgeo.org/geos/geos-3.0.2.tar.bz2 geos-3.0.2.tar.bz2] * 2008/10/15 [http://download.osgeo.org/geos/geos-3.0.1.tar.bz2 geos-3.0.1.tar.bz2] * 2007/12/21 [http://download.osgeo.org/geos/geos-3.0.0.tar.bz2 geos-3.0.0.tar.bz2] * 2006/07/08 [http://download.osgeo.org/geos/geos-2.2.3.tar.bz2 geos-2.2.3.tar.bz2] * 2006/05/16 [http://download.osgeo.org/geos/geos-2.2.2.tar.bz2 geos-2.2.2.tar.bz2] * 2005/12/11 [http://download.osgeo.org/geos/geos-2.2.1.tar.bz2 geos-2.2.1.tar.bz2] * 2005/12/01 [http://download.osgeo.org/geos/geos-2.2.0.tar.bz2 geos-2.2.0.tar.bz2] * 2005/08/23 [http://download.osgeo.org/geos/geos-2.1.4.tar.bz2 geos-2.1.4.tar.bz2] * 2005/07/04 [http://download.osgeo.org/geos/geos-2.1.3.tar.bz2 geos-2.1.3.tar.bz2] * 2005/06/08 [http://download.osgeo.org/geos/geos-2.1.2.tar.bz2 geos-2.1.2.tar.bz2] * 2004/12/16 [http://download.osgeo.org/geos/geos-2.1.1.tar.bz2 geos-2.1.1.tar.bz2] * 2004/11/13 [http://download.osgeo.org/geos/geos-2.1.0.tar.bz2 geos-2.1.0.tar.bz2] * 2004/10/04 [http://download.osgeo.org/geos/geos-2.0.1.tar.bz2 geos-2.0.1.tar.bz2] * 2004/08/19 [http://download.osgeo.org/geos/geos-2.0.0.tar.bz2 geos-2.0.0.tar.bz2] * 2003/11/06 [http://download.osgeo.org/geos/geos-1.0.0.tar.bz2 geos-1.0.0.tar.bz2] }}} == Build and Install == || Build status || \ ||= '''Debbie''' [[br]] ,,''Debian 8.2 [[br]] GNU/Linux 64bit [[br]]'',, =||\ ||= '''Winnie''' [[br]] ,,''Windows [[br]]'',, =||\ ||= '''Dronie''' [[br]] ,,''Alpine Linux 3.4 [[br]] 64bit [[br]] GCC 5.3.0 [[br]] automake'',, =||\ ||= '''Travis''' [[br]] ,,''Ubuntu 12.04 [[br]] GNU/Linux 32bit,64bit[[br]] GCC 4.6.3, Clang 3.4 [[br]] cmake,automake'',, =||\ ||= '''gitlab-ci''' [[br]] ,,''Debian 8.2[[br]]GNU/Linux 64bit[[br]]gcc [[br]] automake'',, =||\ ||= '''!AppVeyor''' [[br]] ,,''Windows Server 2012 R2[[br]]64bit[[br]]VS2015[[br]] CMake'',, =||\ ||= '''drone.io''' [[br]] ,,''GNU/Linux 64bit[[br]]GCC 4.6 [[br]] automake'',, =|| ||= '''trunk''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Trunk, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_Trunk/)]] || \ || N/A ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-trunk, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-trunk, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-trunk, link=https://travis-ci.org/libgeos/libgeos?branch=svn-trunk)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-trunk/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-trunk, alt=status)]] ||\ || [[Image(https://ci.appveyor.com/api/projects/status/c4b47oa8k50qyqo5/branch/svn-trunk?svg=true, link=https://ci.appveyor.com/project/mloskot/libgeos/branch/svn-trunk, alt=status)]] ||\ || [[Image(https://drone.io/github.com/libgeos/libgeos/status.png, link=https://drone.io/github.com/libgeos/libgeos/latest, alt=status)]] || ||= '''3.6''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Branch_3.6, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_3.6/)]] || \ || [[Image(https://debbie.postgis.net:444/view/GEOS/job/GEOS_matrix_branch_3.6/badge/icon, link=https://debbie.postgis.net:444/view/GEOS/job/GEOS_matrix_branch_3.6/)]] ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-3.6, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-3.6, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-3.6, link=https://travis-ci.org/libgeos/libgeos?branch=svn-3.6)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-3.6/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-3.6, alt=status)]] ||\ || N/A ||\ || N/A || ||= '''3.5''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Branch_3.5, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_Branch_3.5/)]] || \ || [[Image(https://debbie.postgis.net:444/view/GEOS/job/GEOS_matrix_branch_3.5/badge/icon, link=https://debbie.postgis.net:444/view/GEOS/job/GEOS_matrix_branch_3.5/)]] ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-3.5, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-3.5, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-3.5, link=https://travis-ci.org/libgeos/libgeos?branch=svn-3.5)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-3.5/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-3.5, alt=status)]] ||\ || N/A ||\ || N/A || ||= '''3.4''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Branch_3.4, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_Branch_3.4/)]] || \ || N/A ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-3.4, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-3.4, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-3.4, link=https://travis-ci.org/libgeos/libgeos?branch=svn-3.4)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-3.4/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-3.4, alt=status)]] ||\ || N/A ||\ || N/A || ||= '''3.3''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Branch_3.3, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_Branch_3.3/)]] || \ || N/A ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-3.3, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-3.3, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-3.3, link=https://travis-ci.org/libgeos/libgeos?branch=svn-3.3)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-3.3/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-3.3, alt=status)]] ||\ || N/A ||\ || N/A || ||= '''3.2''' =|| \ || [[Image(https://debbie.postgis.net/buildStatus/icon?job=GEOS_Branch_3.2, link=https://debbie.postgis.net/view/PostGIS/job/GEOS_Branch_3.2/)]] || \ || N/A ||\ || [[Image(https://drone.osgeo.kbt.io/api/badges/geos/geos/status.svg?branch=svn-3.2, link=https://drone.osgeo.kbt.io/geos/geos?branch=svn-3.2, alt=status)]] ||\ || [[Image(https://secure.travis-ci.org/libgeos/libgeos.svg?branch=svn-3.2, link=https://travis-ci.org/libgeos/libgeos?branch=svn-3.2)]] ||\ || [[Image(https://gitlab.com/geos/libgeos/badges/svn-3.2/build.svg, link=https://gitlab.com/geos/libgeos/commits/svn-3.2, alt=status)]] ||\ || N/A ||\ || N/A || === Source === * [wiki:BuildingOnUnixWithAutotools Building on Unix with Autotools] * [wiki:BuildingOnUnixWithCMake Building on Unix with CMake] * [wiki:BuildingOnMINGW64CMake Building on MINGW64 with CMake] * [wiki:BuildingOnWindowsWithNMake Building on Windows with NMake] * [wiki:BuildingOnWindowsWithCMake Building on Windows with CMake] {{{ #!comment * [wiki:BuildingOnWindowsWithVisualStudioIDE Building on Windows with Visual Studio IDE] }}} === Binaries === * Windows binaries: * As part of [http://osgeo4w.osgeo.org/ OSGeo4W] as part of the [http://trac.osgeo.org/osgeo4w/wiki/pkg-geos geos] package. * Linux distributions provide packages with GEOS: [http://packages.debian.org/search?keywords=geos&searchon=sourcenames&suite=all§ion=all Debian], [http://packages.ubuntu.com/search?keywords=geos&searchon=sourcenames&suite=all§ion=all Ubuntu], [https://admin.fedoraproject.org/pkgdb/packages/name/geos Fedora], [http://packages.gentoo.org/package/geos Gentoo], [http://download.opensuse.org/repositories/Application:/Geo/ openSUSE] and other * [http://yum.postgresql.org PostgreSQL RPM Repository] has up2date GEOS (and other GIS related components) packages. * Binaries /Packages with GEOS for other Unix systems: * [http://www.kyngchaos.com/software:frameworks GEOS Framework] for [http://www.apple.com/macosx/ Mac OS X] 10.5+ provided by William Kyngesburye. Big thanks to William! * [http://pdb.finkproject.org/pdb/browse.php?summary=libgeos Fink] for Mac OS X * [https://trac.macports.org/browser/trunk/dports/science/geos/Portfile MacPorts] for Mac OS X * [http://github.com/mxcl/homebrew/blob/master/Library/Formula/geos.rb Homebrew package manager] for Mac OS X * [http://www.freebsd.org/cgi/cvsweb.cgi/ports/graphics/geos/ GEOS ports] for [http://www.freebsd.org FreeBSD] * [http://pkgsrc.se/geography/geos GEOS pkgsrc packages] for NetBSD and other UNIX-like systems including [http://pkgsrc.se/info.php including Solaris, OpenBSD, FreeBSD, OpenBSD, Linux, Darwin and others]. == Development == === Bug Reporting === You will need an [http://www.osgeo.org/osgeo_userid/ OSGeo user account] to submit bugs here. A "New Ticket" button will appear once you have [http://trac.osgeo.org/geos/login logged in]. When [http://trac.osgeo.org/geos/newticket submitting bugs] caused by particular geometries (TopologyExceptions, for example), you must submit the geometries that cause the failure, preferably in [HexEncodedWkb hex-encoded WKB], so that we can re-produce the failure cases. === Mailing Lists === * [geos-devel] [http://lists.osgeo.org/mailman/listinfo/geos-devel Subscribe/Unsubscribe] | [http://lists.osgeo.org/pipermail/geos-devel/ List Archive] * [geos-commits] [http://lists.osgeo.org/mailman/listinfo/geos-commits Subscribe/Unsubscribe] | [http://lists.osgeo.org/pipermail/geos-commits/ List Archive] === Code Repository === * See CodeRepository === Features === * [wiki:PreparedGeometry Prepared Geometries] * [wiki:GeometryCleaning Geometry Cleaning] (Discussion Page) * [wiki:BundaryNodeRule Boundary node rule] (Discussion Page) === Governance === The GEOS project is run by a [wiki:PSC Project Steering Committee] made up of developers and contributors to the project and is a project of [http://www.osgeo.org/ 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. * [wiki:RFC1 RFC-1] - Project Steering Committee * [wiki:RFC2 RFC-2] - Committer Guidelines * [wiki:RFC3 RFC-3] - Thread Safe CAPI === Documentation and Other Information === * [http://geos.osgeo.org/doxygen/ GEOS API] -- Doxygen-generate API documentation * [wiki:Buildbot] -- Farm used to run regular builds and tests * [http://geos.osgeo.org/SVN.txt SVN Change Log] -- Changes and comments from SVN * [wiki:MSVSAutoexp Microsoft Visual Studio visualizers] * [wiki:Applications] -- Applications using GEOS * [wiki:GSoC] -- Google Summer of Code Ideas (GSOC) == Wiki / Trac Information == * TracGuide -- Built-in Documentation * [http://trac.edgewall.org/ The Trac project] -- Trac Open Source Project * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions * TracSupport -- Trac Support * For a complete list of local wiki pages, see TitleIndex.