I have a some scanned maps (black and white, essentially line art) that I have imported into a grass53 xy location. I am looking for more efficient ways to convert them to vector files than heads up digitizing with v.digit.
I have tried r.thin and v.line. However, the resultant map has got lots of little dangles that hang off "real" lines. I was going to try using v.trim to remove them (my guess is that they are around 2 -3 pixels in length), but I'm getting "v.trim command not found", was v.trim removed from 53?
That being said, an even bigger problem is all the little 2 to 5 pixel line segments the within the enclosed polygons. These are a result of trying to vectorize a raster that had bunches of little dots all over the place that had nothing to do with the actual line art of the map, but were created by the scanner as a representation of paper color.
The main question here is this. Am I wasting my time trying to skip over the v.digit step? or would anyone recommend some kind of filtering approach first (photoshop or the like) before the maps are even read into grass?
I do it with r.poly but after to remove small areas with r.reclass.area.
Although some manual edition was always required.
Em Seg 02 Ago 2004 13:33, você escreveu:
I have a some scanned maps (black and white, essentially line art) that
I have imported into a grass53 xy location. I am looking for more
efficient ways to convert them to vector files than heads up digitizing
with v.digit.
I have tried r.thin and v.line. However, the resultant map has got lots
of little dangles that hang off "real" lines. I was going to try using
v.trim to remove them (my guess is that they are around 2 -3 pixels in
length), but I'm getting "v.trim command not found", was v.trim removed
from 53?
That being said, an even bigger problem is all the little 2 to 5 pixel
line segments the within the enclosed polygons. These are a result of
trying to vectorize a raster that had bunches of little dots all over
the place that had nothing to do with the actual line art of the map,
but were created by the scanner as a representation of paper color.
The main question here is this. Am I wasting my time trying to skip
over the v.digit step? or would anyone recommend some kind of filtering
approach first (photoshop or the like) before the maps are even read
into grass?
I have a some scanned maps (black and white, essentially line art)
that I have imported into a grass53 xy location. I am looking for more
efficient ways to convert them to vector files than heads up
digitizing with v.digit.
I have tried r.thin and v.line. However, the resultant map has got
lots of little dangles that hang off "real" lines. I was going to try
using v.trim to remove them (my guess is that they are around 2 -3
pixels in length), but I'm getting "v.trim command not found", was
v.trim removed from 53?
That being said, an even bigger problem is all the little 2 to 5 pixel
line segments the within the enclosed polygons. These are a result of
trying to vectorize a raster that had bunches of little dots all over
the place that had nothing to do with the actual line art of the map,
but were created by the scanner as a representation of paper color.
v.trim was disabled apparently because it was buggy. If you compiled from
source code, you can always compile the individual module with:
[GRASS 5.7]
v.clean tool=rmdangle thresh=
or tool=chdangle + v.extract
or tool=rmarea (or v.extract -d)
Thanks for the tip Hamish. I also found that r.neighbors with method=mode and size=3, does a wonderful job of cleaning out artifact cells. I think once I get v.rm.dangles fine tuned, I'll be in business.
Hamish
Kirk R. Wythers
Dept. of Forest Resources
University of Minnesota
email: kwythers@umn.edu
tel: 612.625.2261
fax: 612.625.5212