Wed, Apr 5 2006
14:07:10
|
|
Request created by guest
|
|
Subject: v.build.polylines or v.clean: polylines created by v.build.polylines
are broken back into separate lines by v.clean
Platform: GNU/Linux/x86
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: 2006-04-05
### There is a vector consisted of 3 lines connected with nodes:
$ v.build fafkulec
Building topology ...
3 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 3
Number of primitives: 3
Number of points : 0
Number of lines : 3
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
### I need to join lines into one:
v.build.polylines input=fafkulec output=fafkulec_poly
The number of lines in the binary map is 3
Polyline 0: start line = 3
The number of polylines in the output map is 1
Building topology ...
1 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 1
Number of primitives: 1
Number of points : 0
Number of lines : 1
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
### Fine. Only one line. But once I run v.clean on it, lines become separated
back. Somehow, points at which v.build.polylines joined the lines are taken for
errors by the v.clean:
$ v.clean input=fafkulec_poly output=fafkulec_poly_cl type=line error=fafkulec_poly_er
tool=break,rmdupl
+---------------------------------+---------------+
| Tool | Threshold |
+---------------------------------+---------------+
| Break | 0.000000e+00 |
| Remove duplicates | 0.000000e+00 |
+---------------------------------+---------------+
Copying vector lines ...
--------------------------------------------------
Rebuilding parts of topology ...
Building topology ...
1 primitives registered
Topology was built.
Number of nodes : 1
Number of primitives: 1
Number of points : 0
Number of lines : 1
Number of boundaries: 0
Number of centroids : 0
Number of areas : -
Number of isles : -
--------------------------------------------------
Tool: Break lines at intersections
Intersections: 2
--------------------------------------------------
Tool: Remove duplicates
Duplicates: 0
--------------------------------------------------
Rebuilding topology for output vector ...
Building topology ...
3 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 3
Number of primitives: 3
Number of points : 0
Number of lines : 3
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
--------------------------------------------------
Building topology for error vector ...
Building topology ...
2 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 2
Number of primitives: 2
Number of points : 2
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
All the vectors mentioned above are in the location for download here:
http://www.biol.uni.wroc.pl/sieczka/udostepnione/grass/poly_clean.tar.bz2
Maciek
|
|
Wed, Jul 26 2006
18:23:35
|
|
User changed to tutey@o2.pl by msieczka
|
|
Mon, Oct 2 2006
13:37:59
|
|
Subject changed to v.build.polylines: vertices are doubled at each node by msieczka
|
|
Mon, Oct 2 2006
13:41:44
|
|
Mail sent by msieczka
|
|
I have narrowed the problem down.
The bug is in v.build.polylines.
It produces doubled vertices at each input node, thus 'v.clean tool=break'
takes them for toplogy faults and breaks at those.
Workaround: run 'v.clean tool=prune thresh=0' on the v.bulid polylines output.
It will remove the bogus doubled vertices. Then 'v.clean tool=break' won't
break at those ex-nodes again.
Maciek
|
|
Fri, Feb 23 2007
16:34:22
|
|
Mail sent by mlanda
|
|
|
Fri, Feb 23 2007
16:34:27
|
|
Status changed to resolved by mlanda
|
|