1

After switching from GRASS 7.2.2 to 7.6.1 v.overlay (operator=or) throws the error 'Intersection with points is not yet supported'. From this earlier question I gather that this is caused by polygons with an area of 0. In 7.2.2 the v.overlay operation mentiones that it encounters polygons with area = 0 and skips them.

The changelog for GRASS 7.6.1 states that the v.overlay has improved performance for complex overlays(which is why I would like to use it), but this probably also changed the handling of polygons with area = 0.

A v.clean operation with the tool rmsa,break,snap,rmdangle,rmline,rmdupl,rmdac,rmarea does not remove the polygons with area = 0. Deleting features with area = 0 (after calculating area using v.to.db) does not work either.

Code sample below. overlay2 is a product of a previous overlay function that does not throw an error. overlay2 already contains polygons with area=0 so these are not created during the v.clean operation

v.clean input=overlay2 output=overlay2_clean type=area error=overlay2_error_clean tool=rmsa,break,snap,rmdangle,rmline,rmdupl,rmdac,rmarea threshold=0.001 --overwrite

v.overlay.exe ainput=overlay2_clean alayer=1 atype=area binput=newinput blayer=1 btype=area output=overlay3 operator=or snap=0.001 --overwrite

Anyone have an idea on how to remove polygons with area = 0 before performing the v.overlay function?

0 Answers0