Boost.Geometry
(also known as GGL, Generic Geometry Library)
Boost.Geometry provides a generic implementation of geometry algorithms, working with geometry types provided by the library itself as well as user-defined types. The library is implemented in C++ programming language with extensive use of elements of template metaprogramming like class (type) templates, static polymorphism and compile-time execution. Consequently, Boost.Geometry is built upon foundation of C++ Standard Library and Boost C++ Libraries.
Note that Boost.Geometry is still work in progress. Early adopters are welcome to use Boost.Geometry. However, realize that Boost.Geometry is not complete and things might change. In general, all commits are well tested (by hundred unit tests) and breaking changes are announced on the list.
The main purpose of this Trac website is to collect bug reports, patches and enhancements submitted by developers and users as well as it integrates Wiki pages. In order to submit a new report or edit Wiki pages you'll need to login with an OSGeo User ID. Read the TracGuide for details about how the site works.
News
- January 4, 2012 - Mailing list migrated to lists.boost.org server under new name geometry
- July 12, 2011 - Boost.Geometry is Released! In Boost 1.47: Release notice
- April 22, 2011 - Boost.Geometry will be released in Boost 1.47
- December 30, 2010 - Boost.Geometry moved to trunk.
- December 20, 2010 - Still not ready for Boost Release Branch 1.46 (deadline Dec 20). We target 1.47 now.
- November 28, 2010 - namespace model: all geometries are now in namespace boost::geometry::model, more renaming is coming
- November 19, 2010 - Still not incorporated into Boost (1.45). But the work is going on.
- September 8, 2010 - Introduction to Boost.Geometry Library presented at FOSS4G 2010 conference in Barcelona
- July 14, 2010 - Still not incorporated into Boost (1.44). However, work is going on steadily
- February 21, 2010 - Boost.Geometry SVN moved to Boost.Sandbox and Version 0.6 available
- November 28, 2009 - Generic Geometry Library accepted by Boost
- November 5, 2009 - Formal review of the Generic Geometry Library by Boost Community officially started
Features
Boost.Geometry defines concepts for geometries and implements some algorithms on such geometries.
Boost.Geometry contains a dimension-agnostic, coordinate-system-agnostic and scalable kernel, based on concepts, metafunctions and tag dispatching.
On top of that kernel, algorithms are built: area, length, perimeter, centroid, convex hull, intersection (clipping), within (point in polygon), distance, envelope (bounding box), simplify, transform, convert, and more. The library is also designed to support high precision arithmetic numbers, such as GMP.
Documentation
Documentation and API reference (generated with Doxygen and Boost QuickBook) is available here
Related materials:
- Barend's Blog Blog of Barend Gehrels, often with materials related to Boost.Geometry
- Mateusz' Blog Blog of Mateusz Loskot, entry with materials related to Boost.Geometry
- OGC Overview of functions and OGC support
- Who Uses GGL? - list of projects using Boost.Geometry
- BoostCon materials
Supported compilers
- Microsoft Visual C++
- GNU GCC
Check SupportedCompilers article for detailed matrix of tested environments.
Download
See the subversion which has anonymous access
Subversion
Subversion repository with source code of Boost Geometry is hosted in the Boost Trunk available at
svn co http://svn.boost.org/svn/boost/trunk/boost/geometry boost-geometry
(development version) and
svn co http://svn.boost.org/svn/boost/trunk/libs/geometry boost-geometry-libs
(examples, docs and tests) and
svn co http://svn.boost.org/svn/boost/sandbox-tags/geometry/boost-geometry-0.9.0 boost-geometry
(stable version)
Support
geometry at lists.boost.org mailing list is the main place where Boost Geometry (aka GGL) discussion happens and archives are public. You'll need to [ subscribe to be able to post to the list.
The mailing list is also accessible from Nabble as Boost Geometry.
License
Boost.Geometry is distributed under the Boost Software License, Version 1.0.
Copyright
- Copyright © 1995-2010 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
- Copyright © 2008-2010 Bruno Lalande, Paris, France.
- Copyright © 2010 Mateusz Loskot, London, UK
This Trac website for Boost.Geometry project is hosted by OSGeo Foundation
