Boost logo

Boost Users :

Subject: [Boost-users] Boost.Geometry, probable bug in point_on_surface
From: Petr Doubrava (petr_at_[hidden])
Date: 2014-10-09 06:01:52


#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>

  void test_point_on_surface()
  {
      typedef boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> Point;
      boost::geometry::model::polygon<Point> poly;

      boost::geometry::read_wkt("POLYGON((1074699.93 703064.65, 1074702.10 703054.62, 1074704.53 703061.40, 1074703.90 703064.58, 1074699.93 703064.65))",poly);
      boost::geometry::correct(poly);

      Point point;
      boost::geometry::point_on_surface(poly,point);

      //computed point isn't on the surface of polygon
      //[0] 1074839.1013086310 double
      //[1] 703154.77900308778 double

      bool res = boost::geometry::within(point,poly);
      // res is false
  }


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net