Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?


share|improve this question

I would first select the features from foo that have a shared border with the 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.

share|improve this answer
Thanks, I will try this. What is a good way to merge the data sets together though? – lagerratrobe Aug 25 '11 at 15:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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