Provided by: libboost-geometry-utils-perl_0.15-2build2_amd64 bug

NAME

       Boost::Geometry::Utils - Bindings for the Boost Geometry library

VERSION

       version 0.07

SYNOPSIS

           use Boost::Geometry::Utils qw(polygon linestring polygon_linestring_intersection);

           my $square = [  # ccw
               [10, 10],
               [20, 10],
               [20, 20],
               [10, 20],
           ];
           my $hole_in_square = [  # cw
               [14, 14],
               [14, 16],
               [16, 16],
               [16, 14],
           ];
           my $polygon = polygon($square, $hole_in_square);
           my $linestring = linestring([ [5, 15], [30, 15] ]);

           my $intersection = polygon_linestring_intersection($polygon, $linestring);

           # $intersection is:
           # [
           #     [ [10, 15], [14, 15] ],
           #     [ [16, 15], [20, 15] ],
           # ]

ABSTRACT

       This module provides bindings to perform some geometric operations using the Boost
       Geometry library. It does not aim at providing full bindings for such library, and that's
       why I left the Boost::Geometry namespace free. I'm unsure about the optimal architectural
       for providing full bindings, but I'm interested in such a project -- so, if you have ideas
       please get in touch with me.

       Warning: the API could change in the future.

METHODS

   polygon_linestring_intersection
       Performs an intersection between the supplied polygon and linestring, and returns an
       arrayref of linestrings (represented as arrayrefs of points).  Note that such an
       intersection is also called clipping.

   polygon_multi_linestring_intersection
       Same as polygon_linestring_intersection but it accepts a multilinestring object to perform
       multiple clippings in a single batch.

   multi_polygon_multi_linestring_intersection
       Same as polygon_multi_linestring_intersection but it accepts a multipolygon object to
       perform multiple clippings in a single batch.

   multi_linestring_multi_polygon_difference
       Performs a difference between the supplied multilinestring and the supplied multipolygon.
       It returns a multilinestring object.

   polygon_to_wkt
       Converts one or more arrayref(s) of points to a WKT representation of a polygon (with
       holes).

   linestring_to_wkt
       Converts an arrayref of points to a WKT representation of a multilinestring.

   wkt_to_multilinestring
       Parses a MULTILINESTRING back to a Perl data structure.

   linestring_simplify
       Accepts an arrayref of points representing a linestring and a numeric tolerance and
       returns an arrayref of points representing the simplified linestring.

   multi_linestring_simplify
       Accepts an arrayref of arrayrefs of points representing a multilinestring and a numeric
       tolerance and returns an arrayref of arrayrefs of points representing the simplified
       linestrings.

   point_covered_by_polygon
       Accepts a point and an arrayref of points representing a polygon and returns true or false
       according to the 'cover_by' strategy.

   point_covered_by_multi_polygon
       Same as above but accepts a multipolygon arrayref.

   point_within_polygon
       Accepts a point and an arrayref of points representing a polygon and returns true or false
       according to the 'within' strategy.

   point_within_multi_polygon
       Same as above but accepts a multipolygon arrayref.

   linestring_length
       Returns length of a linestring.

   polygon_centroid
       Returns the centroid point of a given polygon.

   linestring_centroid
       Returns the centroid point of a given linestring.

   multi_linestring_centroid
       Returns the centroid point of a given multi_linestring.

   correct_polygon
       Corrects the orientation(s) of the given polygon.

   correct_multi_polygon
       Corrects the orientation(s) of the given multi_polygon.

   polygon_area
       Returns the area of the given polygon.

ACKNOWLEDGEMENTS

       Thanks to mauke and mst (Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>) for their
       valuable help in getting this to compile under Windows (MinGW) too.  Thanks to Mark
       Hindness for his work on data types conversion.

AUTHOR

       Alessandro Ranellucci <aar@cpan.org>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Alessandro Ranellucci.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.