Generic Geometry Library
The Generic Geometry Library (GGL) 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, GGL is built upon foundation of C++ Standard Library and Boost C++ Libraries.
Project homepage: http://geometrylibrary.geodan.nl/
Note that GGL is still work in progress. Early adopters are welcome to use GGL. However, realize that GGL 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
- November 28, 2009- Generic Geometry Library accepted by Boost
- November 5, 2009 - Formal review of the Generic Geometry Library by Boost Community officially started
- The GGL documentation in formal review is available at http://geometrylibrary.geodan.nl/formal_review/
Features
The GGL defines concepts for geometries and implements some algorithms on such geometries.
The GGL 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) is available from the project website at http://geometrylibrary.geodan.nl/
Related materials:
- OGC Overview of functions and OGC support
- Who Uses GGL? - list of projects using the Generic Geometry Library
- BoostCon materials
Supported compilers
Check SupportedCompilers article for detailed matrix of tested environments.
Download
Package with recent library preview is available from download page.
Subversion
Subversion repository with source code of Generic Geometry Library is hosted in Boost Sandbox available at
svn co https://svn.boost.org/svn/boost/sandbox/ggl ggl
Support
ggl@lists.osgeo.org mailing list is the main place where Generic Geometry Library discussion happens and archives are public. You'll need to subscribe to be able to post to the list.
License
Generic Geometry Library (GGL) is distributed under the Boost Software License, Version 1.0.
Copyright
- Copyright © 1995-2009 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
- Copyright © 2008-2009 Bruno Lalande, Paris, France.
- Copyright © 2009 Mateusz Loskot, London, UK
This Trac website for Generic Geometry Library project is hosted by OSGeo Foundation
