[geos-devel] Possible difference anomaly

Paul Meems bontepaarden at gmail.com
Mon Jan 7 00:36:27 PST 2019


Thanks all for the quick reply and sorry for my late response.

Thanks, Paul and Martin for clarifying the behavior to me. I'll see if I
can change my workflow to handle these edge cases.

Also thanks to Darafei for the link to pprepair. I'll have a look at it,
but I'm running Windows so it is a bit more complex to quickly test ;)

Regards,

Paul

*Paul Meems *
Release manager, configuration manager
and forum moderator of MapWindow GIS.
www.mapwindow.org

Owner of MapWindow.nl - Support for
Dutch speaking users.
www.mapwindow.nl


*The MapWindow GIS project has moved to GitHub
<https://github.com/MapWindow>!*


Download the latest MapWinGIS mapping engine.
<https://github.com/MapWindow/MapWinGIS/releases>

Download the latest MapWindow 5 open source desktop application.
<https://github.com/MapWindow/MapWindow5/releases>


Op wo 2 jan. 2019 om 18:26 schreef Martin Davis <mtnclimb at gmail.com>:

> As Paul says, this is expected behaviour, due to the fact that in general
> constructed intersection vertices do not lie exactly on the line segments
> which intersect.  Furthermore, this can't be solved by using a coarser
> precision model - that just makes the problem worse!
>
> So the only way to "solve" this is to ask a different question.  One
> possibility is to to process all or some of the input polygons to form a
> properly noded coverage.  Or, use a tolerance value in the overlaps
> predicate, and accept that the output coverage will only be approximately
> accurate.
>
> Both of these solutions will require some new algorithms in GEOS...
>
> On Wed, Jan 2, 2019 at 7:48 AM Paul Meems <bontepaarden at gmail.com> wrote:
>
>> 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
>> _______________________________________________
>> geos-devel mailing list
>> geos-devel at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/geos-devel
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geos-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20190107/89b4a499/attachment.html>


More information about the geos-devel mailing list