[GRASS-user] converting lines to polygons
Micha Silver
micha at arava.co.il
Thu Sep 23 17:46:31 EDT 2010
On 09/23/2010 07:36 PM, Bryan Keith wrote:
>>>
>> What OS are you on? what version of GRASS, and what GUI?
>>
> I'll answer these questions anyway, but I figured out the v.digit problem
> (see below).
> Windows XP
> GRASS 6.4.0
> wxGUI
>
>
So you'll be using the tcltk digitizer. (wxGui doesn't work yet in Windows)
>
> OK, getting closer, I think. The reason v.digit wasn't working was
> because g.region was set incorrectly. Now I can look at the various maps
> with v.digit and see the different colors of the lines and nodes. In the
> meantime I created a very simple example and processed that map and was
> able to get results that I expected. So then I looked at the one that
> worked and the one that didn't using v.digit to see what the differences
> were.
>
> The files that doesn't have all the areas that I expect has lines that are
> displayed orange (Boundary (1 area)) while the correct version has lines
> that are display green (Boundary (2 areas)). Could that be why I'm not
> getting all the areas that I expect? All the nodes look correct (no red
> ones). How do I fix this? An option in v.clean?
>
>
Orange boundaries are duplicates - overlapping lines - that GRASS
topology doesn't allow.
You should be able to get rid of these with:
"v.clean in=... out=... tool=break,bpol,rmdupl"
But I've never had good luck with this.
The alternative that might work better for you:
Re-import the layer from the original shapefiles (or where ever they
came from) but use the "type=line" option to v.in.ogr. (No centroids
will be created)
Now do v.clean on this new GRASS vector, using tool=snap,break,rmdupl.
Next use
"v.type ... type=line,boundary"
to convert the (cleaned) lines to boundaries, and then
"v.centroids ... opt=add"
to create area centroids inside each closed boundary.
--
Micha
> Bryan
>
>
--
Micha Silver
Arava Development Co. +972-52-3665918
http://surfaces.co.il
More information about the grass-user
mailing list