[GRASS-user] v.patch drops adjacent polygons

Markus GRASS markus.metz.giswork at googlemail.com
Sat Jun 6 02:21:40 EDT 2009


A. Marcia BARBOSA wrote:
>> Probably a problem with topology. What is the output of  v.build
>> map=utm10_31to34?
>>     
>
> $ v.build map=utm10_31to34
> Building topology ...
>   
[...]
> Number of incorrect boundaries   :   4433
> Number of centroids outside area :   1016
>
> --No changes that I can spot..
>   
The incorrect boundaries must be dealt with.
> $ v.clean input=utm10_31to34 output=utm10_31to34_clean type=boundary
> tool=bpol,rmdupl
> [...]
>   
[...]
> Number of incorrect boundaries   :   215
> Number of centroids outside area :   57
>   
Much better, getting somewhere. Now you could try v.clean with 1) remove
small angles, 2) break boundaries, 3) remove duplicates (v.clean
tool=rmsa,break,rmdupl). If anything was changed by any of the 3 tools,
you may need to repeat the three cleaning operations. Maybe snapping is
also necessary. I'm not sure what the units of the threshold for
snapping are in latlon, it may be meters not degrees. In any case the
threshold should be as small as possible in order to avoid heavy changes
to boundaries that are already ok. v.clean error=<vector with location
of changes> lets you see where modifications were done.

These problems probably arise because your utm grids are now in latlon,
i.e. most likely have been reprojected, causing slight shifts along the
contact zone between the two vectors. Just a guess. Cleaning v.patch'ed
areas can require a bit of an effort, no way around that.

Markus M




More information about the grass-user mailing list