[geos-devel] Possible difference anomaly

Paul Meems bontepaarden at gmail.com
Wed Jan 2 07:48:17 PST 2019


Hi List,

I'm creating irregular polygons and I don't want to let them overlap.
So before adding the polygon to my list of 'good' polygons, I do an overlap
check first.
When the polygon overlaps with an existing polygon I do a clip difference
and add the clipped polygon to my good list.

Sometimes two polygons still overlap after a clip difference.

I managed to extract two sets that barely overlap. The first set doesn't
overlap anymore after clipping the second one is still overlapping.

Set 1:
shp = POLYGON ((259449.071118579 543868.469050065,259460.460699968
543878.23006619,259463.245769758 543873.768560297,259455.578068317
543860.876455946,259449.071118579 543868.469050065))
shp2 = POLYGON ((259463.243735243 543856.317227775,259458.0148573
543864.973555723,259462.906856719 543873.198728218,259471.741696109
543861.450443661,259463.243735243 543856.317227775))
shp3 (clipped result) = POLYGON ((259463.243735243
543856.317227775,259458.014857301 543864.973555722,259462.906856719
543873.198728217,259471.741696109 543861.450443661,259463.243735243
543856.317227775))

Set 2:
shp = POLYGON ((259073.014081524 544320.092508488,259085.267633063
544321.677731439,259085.942168897 544320.308101652,259074.192475622
544310.983687036,259073.014081524 544320.092508488))
shp2 = POLYGON ((259087.677538158 544333.393525226,259097.260135269
544321.853428493,259090.546766392 544316.354731347,259079.984140336
544327.005127152,259087.677538158 544333.393525226))
shp3 (clipped result) = POLYGON ((259087.677538158
544333.393525226,259097.260135269 544321.853428493,259090.546766392
544316.354731347,259085.267633064 544321.677731438,259085.267633063
544321.677731439,259085.267633062 544321.677731439,259079.984140336
544327.005127152,259087.677538158 544333.393525226))

I'm using C# with MapWinGIS to do the actions:
            if (shp.Overlaps(shp2))
            {
                var shp3 = shp2.Clip(shp, tkClipOperation.clDifference);
                Assert.IsFalse(shp.Overlaps(shp3), "New shape still
overlaps");
            }

MapWinGIS is using the GDAL v2.3.3 binaries from GisInternals which in turn
is using geos-3.4
MapWinGIS is directly porting its functions to the GEOS functions:
https://github.com/MapWindow/MapWinGIS/blob/master/src/COM%20classes/Shape.cpp#L1194
https://github.com/MapWindow/MapWinGIS/blob/master/src/COM%20classes/Shape.cpp#L1302

Before I report this as a defect I want to know if my workflow and
expectations are correct.

Thanks,

Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20190102/a3846086/attachment.html>


More information about the geos-devel mailing list