[OSGeo-Discuss] Generic Geometry Library (ggl)
Barend Gehrels
Barend.Gehrels at geodan.nl
Tue Feb 17 05:11:33 PST 2009
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:
https://svn.boost.org/svn/boost/sandbox/ggl but can also be downloaded
from http://geometrylibrary.geodan.nl. 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
libraries.
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
More information about the Discuss
mailing list