[GRASS-user] Tracing dotted lines from raster (and convert to
nikos.alexandris at felis.uni-freiburg.de
Fri May 23 12:08:32 EDT 2008
On Fri, 2008-05-23 at 17:46 +0200, Nikos Alexandris wrote:
> Dear list,
> I am curious to find out if it is possible to successfully convert the
> "boundaries" of a raster map (contains some administrative boundaries)
> a vector map.
> The problem with this raster map is that the boundaries
> are represented by non-continuous lines (dots).
> Here is the link to the bad-looking gif files which contain
> administrative boundaries (prefectures in Greece):
> Is there a way to get the biggest portion out of it as vector
> lines/boundaries and correct manually as less as possible?
> Thank you,
> P.S. My "quick" attempts so far
> I 've tried using r.zc (edge detection) with no satisfactory results.
> 1. Save gif from http://www.ypes.gr/kapodistrias/images/i_trik.gif
> 2. grass -text # and create an xy location
> 3. r.in.gdal input="/grass_db/kapodistrias/data/i_trik.gif"
> 4. d.rast trikala cat=3 # cat=3 is the blue color, that is the
> boundaries of interest.
> 5. r.mapcalc trikala_3="if(trikala == 3, 3, null())"
> 6. r.thin input="trikala_3" output="trikala_3.thinned" iterations=200
> 7. r.to.vect input="trikala_3.thinned" output="trikala_3_thinned"
> 8. v.clean input="trikala_3_thinned" output="trikala_3_thinned_clean"
> type="line" tool="snap,rmdangle,rmbridge,rmdupl" thresh=16
> Probably only snap help here but anyway I tested several options. snap
> threshold above 20 and below 14 gives few/bad lines.
> If there is a way to connect the "blue dots" in the raster map then I
> suppose it would be more or less easy to grab lines from the raster
I feel I am closer to the target.
I used r.grow and then r.thin.
Now it looks much better but I have lots of small-length lines left and
right from the borders.
v.clean tool=rmdangle does halfway the job.
How do I tell GRASS (v.clean?) to remove lines of small lentghs?
More information about the grass-user