Hi Johannes:
On 04/22/2011 05:15 PM, Johannes Radinger wrote:
Am 22.04.2011 um 13:22 schrieb Moritz Lennert:
On 22/04/11 11:34, Johannes Radinger wrote:
About my situation: I've got a river network, which
is a polylinefeature set with 43 lines (43 IDs) included (tree-like shape of a rivernet)
all with the same cat-value (1).
Now I would like to unite/merge the lines to one feature (1 ID) if that is possible
and break that single element at given points with v.edit...Because if I break
now at around 40 positions I get over 80 segements (40 old segements and which
are broken again at different positions) but there should be only
41 or so...
so how can I handle that and assign unique cat values for each segment...(at the
moment the don't have to be the same like the breakpoints, just unique values)
any suggestions?
v.edit tool=catadd id= ?
Sorry but I am still confused how to do the break.
In the Attachment there is a GRASS-exported shp.-file with my
rivernet consisting of 43 single lines.
I want to break that river at e.g. 3521021.43671,6041340.79067
which is one point (out of others) along the river.
Here's what I tried:
GRASS 6.4.0 (WGS84):~/geodata > v.edit river_gen tool=break
coords="3521021.43671,6041340.79067"
Selecting features...
100%
1 of 43 features selected from vector map
<river_gen@PERMANENT>
100%
1 lines broken
Building topology for vector map <river_gen>...
Registering primitives...
44 primitives registered
17135 vertices registered
Building areas...
100%
0 areas built
0 isles built
Attaching islands...
Attaching centroids...
100%
Number of nodes: 45
Number of primitives: 44
Number of points: 0
Number of lines: 44
Number of boundaries: 0
Number of centroids: 0
Number of areas: 0
Number of isles: 0
v.edit complete.
So I there are now 44 line segments as opposed to the original 43.
One got split into two. But the two new segments have the same cat
number.
Next I wiped out all the old cats:
GRASS 6.4.0 (WGS84):~/geodata > v.category river_gen opt=del
cat=1-43 out=river_gen_tmp
and recreated new cats into a new vector:
GRASS 6.4.0 (WGS84):~/geodata > v.category --o river_gen_tmp
opt=add out=river_gen_2
In the attached image you can see that the original line segment
with cat=12 (black numbers) got split into two (after the v.edit
step). THe red numbers are the new cat values, and that line segment
got cats 43 and 44.
Reviewing your first post I want to also note:
I believe that GRASS's topology model will not allow you to merge
the original river segments into one "polyline" (MULTILINE in other
GIS). You *can* of course have polylines in GRASS, but they must
consist of two line segments connected at exactly one point. In any
typical river network you always have three segments intersecting:
the upstream reach, the tributary and the downstream reach.
Others with more experience may correct me, but I think that if you
must merge all the river segments into one "MULTILINE" before
splitting at the new points, then you'll have to use some other tool
and non-topological vector data format outside of GRASS.