Boost logo

Geometry :

Subject: [ggl] Welcome to Generic Geometry Library mailing list
From: Mateusz Loskot (mateusz)
Date: 2009-04-12 07:20:28


Two months ago Barend Gehrels announced (original message attached
below and linked [1]) on the OSGeo Discuss list ongoing Open Source
project called Generic Geometry Library [2], GGL in short.

This project seems to have value and potential which may interest
members of FOSS4G / OSGeo Community. Thus, OSGeo Foundation
agreed to host this mailing list dedicated to discussions
development and use of the Generic Geometry Library.


Welcome and have fun!

-------- Original Message --------
Subject: [OSGeo-Discuss] Generic Geometry Library (ggl)
Date: Tue, 17 Feb 2009 14:11:33 +0100
From: Barend Gehrels <Barend.Gehrels_at_[hidden]>
Reply-To: OSGeo Discussions <discuss_at_[hidden]>
Organisation: Geodan Holding b.v.
To: OSGeo Discussions <discuss_at_[hidden]>

Dear list,

It is a pleasure for us to announce the Generic Geometry Library (ggl).

It is an Open Source library, written in C++. The library is template
based, and generic. With generic we mean that the algorithms work not
only with the provided geometries, but also with geometries that are
defined by the library user, such as legacy points, custom linestrings, etc.

Because of this the library is following OGC conventions loosely, not
strictly. All algorithms are implemented as standalone functions,
instead of methods on geometries. Nevertheless, OGC conventions, names
and meanings are followed as much as possible. Not all OGC algorithms
are already implemented. On the other hand the library offers other
things such as distance calculations over the globe.

So it is a library modelled as the C++ std:: library and as most Boost
libraries are. The library is proposed to Boost (Boost is a well-known
peer reviewed C++ Library Collection). It is following the Boost
Software License, which is a permissive Open Source License.

The library is accessible via SVN at Boost: but can also be downloaded
from Much documentation and many
examples can be found there. Note for example the Custom Linestring
example showing things which cannot so easily be done with non-template

The library contains projections from PROJ4, converted to C++ . We first
wanted to include PROJ4 as an example, like we did with ShapeLib and GD.
However, we concluded that they fit better being implemented as C++
templates, so they are automatically converted (it is reproducable).
Like there is a PROJ4 Javascript branch, this might be considered as a
PROJ4 C++ branch. We like your opinion about this.

The library is in "preview 4", it has been submitted as preview to Boost
three times, last year. Based on many comments the library has been
enhanced. We think it is now in a proper shape to be used, and that
algorithms can now be added without that everything is restructured again.

The performance of the library is compared with other C++ OS GIS
libraries and we measured that the library seems to be much faster than
most of them, caused by the template approach.

We welcome any type of comment, opinion or cooperation.

Barend Gehrels, Geodan, Amsterdam, the Netherlands
Bruno Lalande, Paris

Best regards,

Mateusz Loskot,
Charter Member of OSGeo,

Geometry list run by mateusz at