Exclude degenerated rings from polygon area calculation

(forward-port from 64b0b1)
This commit is contained in:
Marco Hugentobler 2017-01-05 09:14:18 +01:00 committed by Nyall Dawson
parent 17b51ab28f
commit e433639604

View File

@ -359,7 +359,7 @@ double QgsCurvePolygon::area() const
double totalArea = 0.0;
if ( mExteriorRing->isClosed() )
if ( mExteriorRing->isRing() )
{
double area = 0.0;
mExteriorRing->sumUpArea( area );
@ -370,7 +370,7 @@ double QgsCurvePolygon::area() const
for ( ; ringIt != mInteriorRings.constEnd(); ++ringIt )
{
double area = 0.0;
if (( *ringIt )->isClosed() )
if (( *ringIt )->isRing() )
{
( *ringIt )->sumUpArea( area );
totalArea -= qAbs( area );