I'm generalizing some lat/lon data in grass64 and as a precursor to the generalization, I am removing small areas from the data using 'v.clean'. The following command is working well:

$ v.clean input=foo output=foo_rmarea_100km tool=rmarea thresh=100000000 type=area --overwrite

However, the one problem I have is that it is removing a small area that has a shared border with the rest of the larger data set.

Is it possible to specify that only areas which DO NOT have a shared border with another area AND which are smaller than the defined threshhold be removed?


1 Answer 1


I would first select the features from foo that have a shared border with the v.select tool and save them in foo_shared (using the touches or overlaps operator depending on the data). Then I would clean the features from foo as you have done above with v.clean and save them in foo_clean.

Finally merging the two data sets from foo_shared and foo_clean with r.patch should give you what you need.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.