Le mercredi 10 octobre 2012 19:48:07, Alisson Barbosa a écrit :
> Hello, guys!
> 
> I'm truggling through a rough moment here...
> I have this piece of code in a project that I work on:
> 
> if(basinPolygon->Intersects(luPolygon))
> {
>         OGRGeometry *result = basinPolygon->Intersection(luPolygon);
>         if(result)
>                 newLayer.push_back(result);
> }
> 
> Somehow, the Intersects function returns true for those polygons
> (basinPolygon and luPolygon) (i.e. there is a intersection area between
> them), but
> 
>     basinPolygon->Intersection(luPolygon);
> 
> Always returns NULL! why is it returning NULL if Intersects returns true?!
> This is a mistery for me!

The likely cause is documented in the page you quoted

About Intersection(): "This method is built on the GEOS library, check it for 
the definition of the geometry operation. If OGR is built without the GEOS 
library, this method will always fail, issuing a CPLE_NotSupported error."

About Intersects(): "If GEOS is enabled, then this is done in rigerous fashion 
otherwise TRUE is returned if the envelopes (bounding boxes) of the two 
features overlap."

Take your symptoms and the above highlighted precisions, and you should have 
the answer.

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to