[geos-devel] Small gaps between results of GEOSDifference?

Marco Hugentobler marco.hugentobler at sourcepole.ch
Fri Feb 15 05:40:16 PST 2013


>If you want to further
>debug your case you may try to build geos yourself with uncommenting
>the GEOS_DEBUG_BINARYOP define in include/geos/geom/BinaryOp.h and
>see what happens to each operation.

Ok, the output from the program is now:

Trying with original input.
Trying with original input.
Trying with original input.
POLYGON ((667742.4309483024990186 242527.8379819425463211, 
666346.8681890554726124 243904.6683551594032906, 666702.7835236284881830 
245628.0478699342638720, 667616.2135386734735221 
245333.9510847872006707, 667667.5014041818212718 
246077.6251346581266262, 670730.2465201131999493 
245824.7379232509410940, 669999.6834649369120598 
243558.1192136014287826, 668681.6034982207929716 
244037.8801210268575232, 667742.4309483024990186 242527.8379819425463211))
POLYGON ((667742.4309483024990186 242527.8379819425463211, 
666346.8681890554726124 243904.6683551594032906, 666702.7835236284881830 
245628.0478699342638720, 667616.2135386734735221 
245333.9510847872006707, 667667.5014041818212718 
246077.6251346581266262, 670730.2465201131999493 
245824.7379232509410940, 669999.6834649369120598 
243558.1192136014287826, 668681.6034982207929716 
244037.8801210268575232, 669175.4584796098060906 
244831.9214636523975059, 667742.4309483024990186 242527.8379819425463211))

Does 'Trying with original input' mean there are no robustness issues?

Regards,
Marco

On 15.02.2013 13:38, Sandro Santilli wrote:
> On Fri, Feb 15, 2013 at 01:02:11PM +0100, Marco Hugentobler wrote:
>
>> I have two geometries (A, B). Now I'm doing GEOSDifference(B, A) and
>> then a union of A and the result of the difference operation. The
>> result is different compared to GEOSUnion(A, B).
>> Shouldn't GEOSUnion(A,B) be equal to GEOSUnion( A, GEOSDifference(B,
>> A) ) ?
> Overlay operations can throw exceptions due to robustness issues
> during noding. In turn when this happens, a number of heuristics are
> attempted to try at working around the problem. If you want to further
> debug your case you may try to build geos yourself with uncommenting
> the GEOS_DEBUG_BINARYOP define in include/geos/geom/BinaryOp.h and
> see what happens to each operation.
>
> --strk;


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux & Open Source Solutions
Weberstrasse 5, CH-8004 Zürich, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee



More information about the geos-devel mailing list