mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
catch more GEOS exceptions, fixes #802
git-svn-id: http://svn.osgeo.org/qgis/trunk@7394 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
5732faeb2a
commit
e61a03ccd1
@ -2828,31 +2828,30 @@ bool QgsGeometry::intersects(const QgsRect& r)
|
|||||||
|
|
||||||
bool QgsGeometry::intersects(QgsGeometry* geometry)
|
bool QgsGeometry::intersects(QgsGeometry* geometry)
|
||||||
{
|
{
|
||||||
// ensure that both geometries have geos geometry
|
|
||||||
exportWkbToGeos();
|
|
||||||
geometry->exportWkbToGeos();
|
|
||||||
|
|
||||||
if (!mGeos || !geometry->mGeos)
|
|
||||||
{
|
|
||||||
QgsDebugMsg("GEOS geometry not available!");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
try // geos might throw exception on error
|
try // geos might throw exception on error
|
||||||
{
|
{
|
||||||
return mGeos->intersects(geometry->mGeos);
|
// ensure that both geometries have geos geometry
|
||||||
|
exportWkbToGeos();
|
||||||
|
geometry->exportWkbToGeos();
|
||||||
|
|
||||||
|
if (!mGeos || !geometry->mGeos)
|
||||||
|
{
|
||||||
|
QgsDebugMsg("GEOS geometry not available!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mGeos->intersects(geometry->mGeos);
|
||||||
}
|
}
|
||||||
catch (GEOS_UTIL::TopologyException* e)
|
catch (GEOS_UTIL::GEOSException &e)
|
||||||
{
|
{
|
||||||
#if GEOS_VERSION_MAJOR < 3
|
#if GEOS_VERSION_MAJOR < 3
|
||||||
QString error = e->toString().c_str();
|
QString error = e.toString().c_str();
|
||||||
#else
|
#else
|
||||||
QString error = e->what();
|
QString error = e.what();
|
||||||
#endif
|
#endif
|
||||||
QgsLogger::warning("GEOS: " + error);
|
QgsLogger::warning("GEOS: " + error);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user