5

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?

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
lagerratrobe
  • 981
  • 6
  • 16

1 Answers1

3

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.

Glorfindel
  • 1,096
  • 2
  • 9
  • 14
unicoletti
  • 7,339
  • 22
  • 33