 # Geometry :

Subject: [geometry] [Search Point in MultiPolygon]
From: Ederson de Moura (ederbsd_at_[hidden])
Date: 2013-08-05 11:17:08

Hello guys,

I need to find a point within "MultiPolygon". I'm trying to apply the
same logic
of the "polygon" example:

But not to the point the result is always not found. Could someone help me?

The following code:

---------------------------------------------------------------------------------------------------------------
#include <QtCore>
#include <QDebug>

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/multi/geometries/multi_polygon.hpp>
#include <boost/geometry/algorithms/within.hpp>

#include <iostream>

int main( int argc, char* argv[] )
{
QCoreApplication app( argc, argv );

typedef boost::geometry::model::d2::point_xy<int> point_xy;
typedef boost::geometry::model::polygon<point_xy> polygon;
typedef boost::geometry::model::multi_polygon<polygon> multi_polygon;

multi_polygon p_multi;

boost::geometry::read_wkt( "MULTIPOLYGON(((0 0, 0 10, 10 10, 10 0, 0 0)),
((10 5, 10 15, 20 15, 20 5, 10 5)))", p_multi );

int x = 10;
int y = 10;

point_xy p( x, y );

std::cout << "Within: " << ( boost::geometry::within( p, p_multi ) ?
"Yes" : "No" ) << std::endl;
return app.exec();
}

---------------------------------------------------------------------------------------------------------------

Always results (Within: No) for any geometric point!

Boost Version: 1.54.0

Regards,

EDM.

```--
Ederson de Moura