OGC functions, supported

OGC function and nameGGL nameRemarks
Areaarea
AsTextwktin gis extension
AsBinarywkbin gis extension
Centroidcentroidalso: make_centroid<P>
Convex Hullconvex_hull
Dimensiondimension
Disjointdisjoint
Distancedistance
Envelopeenvelopealso: make_envelope<B>
Equalsequals
ExteriorRingexterior_ring
Intersectionintersection currently: version with output iterator, called intersection_inserter
Intersectsintersects
InteriorRingNinterior_ringsGGL function returns a Boost.Range compatible range
Lengthlength
NumPointsnum_pointsworks for any geometry in GGL
NumInteriorRingnum_interior_ringsGGL adds an s
Overlapsoverlaps
Unionunion_ currently: version with output iterator, called union_inserter
Withinwithin
X, Y, Zget<0>, get<1>, get<2>get coordinates

Note that not all geometries are yet supported by all functions

OGC functions, planned but not yet supported

OGC function and nameGGL nameRemarks
Bufferbuffer
Differencedifferencealso: difference_inserter, nyi but already supported by the algorithm
Containscontainsfor contains(A,B) use within(B,A)
Crossescrosses
IsClosedis_closedtrivial
IsRingis_ringtrivial
PointOnSurfacepoint_on_surface
Relaterelate
Touchestouches
SymDifferencesym_differencealso: sym_difference_inserter, nyi but already supported by the algorithm

OGC functions, not planned

OGC function and nameGGL nameRemarks
Boundaryreplaced by convert
CoordinateDimension
EndPointuse Boost.Range compatible functions
GeometryNfor a multi, use Boost.Range compatible functions
GeometryTypeimplementation is type-safe, or use typeid(), or use geometry_id
IsSimplereplaced by intersects function on one geometry
Is3Dreplaced by meta-function dimension which returns number of dimensions
IsEmptynot applicable because empty point is non-defined
IsMeasuredM values are not necessary; GGL can have any number of attributes (or more) by defining own geometry types
LocateAlongrelated to M values
LocateBetweenrelated to M values
NumGeometriesfor a multi, use boost::size()
PointNuse Boost.Range compatible functions
SpatialDimension
StartPointuse Boost.Range compatible functions
Mrelated to M values

Additional (non-OGC) functions

GGL nameRemarks
append
assignthere is also: assign_inverse, assign_zero
clear
combinelike envelope but different, adds envelope of a geometry to the specified box
convertconverts one geometry type into another
correctcloses ring or polygon and flips vertices if wrongly oriented
for_each_pointfollows std:: convention, calls functor for each point
for_each_segmentfollows std:: convention, calls functor for each segment
get_section
make
perimeter
read_wktin gis extension
sectionalize
set<0>, set<1>, set<2>set coordinates
simplifythere is an additional simplify_inserter
svgstreams Scalable Vector Graphics, in svg extension
topological_dimension
transformfor (matrix) transformations, projections

Additional (non-OGC) functions, planned

GGL nameRemarks
closest_point_pair
containmentcombination of within/inside, returns 1 if first in second, -1 if second in first, 0 if disjoint
dissolvecorrects self-intersections
is_convex
diameteraka furthest point pair
mid_points
projected_point
remove_interior_rings_if
selected for user interfaces
spline
triangulate
...