OGC functions, supported
| OGC function and name | GGL name | Remarks
|
| Area | area |
|
| AsText | wkt | in gis extension
|
| AsBinary | wkb | in gis extension
|
| Centroid | centroid | also: make_centroid<P>
|
| Convex Hull | convex_hull |
|
| Dimension | dimension |
|
| Disjoint | disjoint |
|
| Distance | distance |
|
| Envelope | envelope | also: make_envelope<B>
|
| Equals | equals |
|
| ExteriorRing | exterior_ring |
|
| Intersection | intersection | currently: version with output iterator, called intersection_inserter
|
| Intersects | intersects |
|
| InteriorRingN | interior_rings | GGL function returns a Boost.Range compatible range
|
| Length | length |
|
| NumPoints | num_points | works for any geometry in GGL
|
| NumInteriorRing | num_interior_rings | GGL adds an s
|
| Overlaps | overlaps |
|
| Union | union_ | currently: version with output iterator, called union_inserter
|
| Within | within |
|
| X, Y, Z | get<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 name | GGL name | Remarks
|
| Buffer | buffer |
|
| Difference | difference | also: difference_inserter, nyi but already supported by the algorithm
|
| Contains | contains | for contains(A,B) use within(B,A)
|
| Crosses | crosses |
|
| IsClosed | is_closed | trivial
|
| IsRing | is_ring | trivial
|
| PointOnSurface | point_on_surface |
|
| Relate | relate |
|
| Touches | touches |
|
| SymDifference | sym_difference | also: sym_difference_inserter, nyi but already supported by the algorithm
|
OGC functions, not planned
| OGC function and name | GGL name | Remarks
|
| Boundary | | replaced by convert
|
| CoordinateDimension | |
|
| EndPoint | | use Boost.Range compatible functions
|
| GeometryN | | for a multi, use Boost.Range compatible functions
|
| GeometryType | | implementation is type-safe, or use typeid(), or use geometry_id
|
| IsSimple | | replaced by intersects function on one geometry
|
| Is3D | | replaced by meta-function dimension which returns number of dimensions
|
| IsEmpty | | not applicable because empty point is non-defined
|
| IsMeasured | | M values are not necessary; GGL can have any number of attributes (or more) by defining own geometry types
|
| LocateAlong | | related to M values
|
| LocateBetween | | related to M values
|
| NumGeometries | | for a multi, use boost::size()
|
| PointN | | use Boost.Range compatible functions
|
| SpatialDimension | |
|
| StartPoint | | use Boost.Range compatible functions
|
| M | | related to M values
|
Additional (non-OGC) functions
| GGL name | Remarks
|
| append |
|
| assign | there is also: assign_inverse, assign_zero
|
| clear |
|
| combine | like envelope but different, adds envelope of a geometry to the specified box
|
| convert | converts one geometry type into another
|
| correct | closes ring or polygon and flips vertices if wrongly oriented
|
| for_each_point | follows std:: convention, calls functor for each point
|
| for_each_segment | follows std:: convention, calls functor for each segment
|
| get_section |
|
| make |
|
| perimeter |
|
| read_wkt | in gis extension
|
| sectionalize |
|
| set<0>, set<1>, set<2> | set coordinates
|
| simplify | there is an additional simplify_inserter
|
| svg | streams Scalable Vector Graphics, in svg extension
|
| topological_dimension |
|
| transform | for (matrix) transformations, projections
|
Additional (non-OGC) functions, planned
| GGL name | Remarks
|
| closest_point_pair |
|
| containment | combination of within/inside, returns 1 if first in second, -1 if second in first, 0 if disjoint
|
| dissolve | corrects self-intersections
|
| is_convex |
|
| diameter | aka furthest point pair
|
| mid_points |
|
| projected_point |
|
| remove_interior_rings_if |
|
| selected | for user interfaces
|
| spline |
|
| triangulate |
|
| ...
|