[GRASS-user] How to delete deadends?

Dear group,

I have a lot of lines that are linked to another forming various nets. Several of those lines are deadends. Now I search for a option to delete "dead-ends" within those networks. It would be perfect to delete the lines, or to search for the nodes that link to more than one line.
I was searching in v.generalize, v.net, v.to.point, v.to.db but won't find the proper approach.

Doas anybody of you have an idea?

Thanks for your feedback,

Patrick Schirmer

On Fri, Nov 12, 2010 at 2:07 PM, Patrick_schirmer <patrick_GIS@gmx.ch> wrote:

Dear group,

I have a lot of lines that are linked to another forming various nets.
Several of those lines are deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be perfect to delete the lines,
or to search for the nodes that link to more than one line.
I was searching in v.generalize, v.net, v.to.point, v.to.db but won't find
the proper approach.

Try to remove dangles with v.clean tool=rmdangle
If threshold is < 0, all dangles will be removed, otherwise only
dangles shorter than threshold.

Markus M

Patrick_schirmer wrote:

I have a lot of lines that are linked to another
forming various nets. Several of those lines are
deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be
perfect to delete the lines, or to search for the
nodes that link to more than one line.
I was searching in v.generalize, v.net,
v.to.point, v.to.db but won't find the proper
approach.

not a v.net specific thing, but in general for
vector maps you can use v.clean to remove (or isolate)
line "dangles" with the 'rmdangle' (or 'chdangle')
tools.

maybe that helps,
Hamish

Thanks Markus and Hamish,

Unfortunately v.clean rmdangle will not work for me. With Threshhold<0 it deletes more or less all lines, otherwise none. I guess it is because the “nests” of lines consist of 4-20 lines and are all seperated from each other.
Per defintion a line “is considered to be a dangle if no other line of given type is on at least one end node” (documentation v.clean rmdangle). As I am searching for lines that have exactly one line as sum of all connecting node, this tool doesn’t help.

I will try to solve the problem by creating points out of the line (nodes), buffering the points and delete the ones intersecting only one line. But I still hope that there is a more direct solution to delete the line as a geometry.

So if there are any other suggestions I would be happy about.
I’ll keep you up to date in case I find a solution.

Cheers, Patrick

On 11/12/2010 09:51 PM, Hamish wrote:

Patrick_schirmer wrote:
  
I have a lot of lines that are linked to another
forming various nets. Several of those lines are
deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be
perfect to delete the lines, or to search for the
nodes that link to more than one line.
I was searching in v.generalize, v.net,
v.to.point, v.to.db but won't find the proper
approach.
    
not a v.net specific thing, but in general for
vector maps you can use v.clean to remove (or isolate)
line "dangles" with the 'rmdangle' (or 'chdangle')
tools.

maybe that helps,
Hamish

      

  

Hello,
can You, please, send in a graphical example or put for download
sample data set?

Maris.

2010/11/15, Patrick_schirmer <patrick_GIS@gmx.ch>:

Thanks Markus and Hamish,

Unfortunately v.clean rmdangle will not work for me. With Threshhold<0
it deletes more or less all lines, otherwise none. I guess it is because
the "nests" of lines consist of 4-20 lines and are all seperated from
each other.
Per defintion a line "is considered to be a dangle if no other line of
given /type/ is on at least one end node" (documentation v.clean
rmdangle). As I am searching for lines that have exactly one line as sum
of all connecting node, this tool doesn't help.

I will try to solve the problem by creating points out of the line
(nodes), buffering the points and delete the ones intersecting only one
line. But I still hope that there is a more direct solution to delete
the line as a geometry.

So if there are any other suggestions I would be happy about.
I'll keep you up to date in case I find a solution.

Cheers, Patrick

On 11/12/2010 09:51 PM, Hamish wrote:

Patrick_schirmer wrote:

I have a lot of lines that are linked to another
forming various nets. Several of those lines are
deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be
perfect to delete the lines, or to search for the
nodes that link to more than one line.
I was searching in v.generalize, v.net,
v.to.point, v.to.db but won't find the proper
approach.

not a v.net specific thing, but in general for
vector maps you can use v.clean to remove (or isolate)
line "dangles" with the 'rmdangle' (or 'chdangle')
tools.

maybe that helps,
Hamish

Hi Maris,

Attached you'll find an example as shp and a picture. I search for the lines that is highlighted in the picture, which are the only ones connected to more then one line.
My approach would be to create points out of endpoints, buffer endpoints and count points per buffer, but I can't import v.vect.stats, as stated in the other post.

Would be great if you or someone else in the list had an idea which works on GRASS 6.4.

greetz,

Patrick

On 11/17/2010 09:57 AM, Maris Nartiss wrote:

Hello,
can You, please, send in a graphical example or put for download
sample data set?

Maris.

2010/11/15, Patrick_schirmer<patrick_GIS@gmx.ch>:
   

Thanks Markus and Hamish,

Unfortunately v.clean rmdangle will not work for me. With Threshhold<0
it deletes more or less all lines, otherwise none. I guess it is because
the "nests" of lines consist of 4-20 lines and are all seperated from
each other.
Per defintion a line "is considered to be a dangle if no other line of
given /type/ is on at least one end node" (documentation v.clean
rmdangle). As I am searching for lines that have exactly one line as sum
of all connecting node, this tool doesn't help.

I will try to solve the problem by creating points out of the line
(nodes), buffering the points and delete the ones intersecting only one
line. But I still hope that there is a more direct solution to delete
the line as a geometry.

So if there are any other suggestions I would be happy about.
I'll keep you up to date in case I find a solution.

Cheers, Patrick

On 11/12/2010 09:51 PM, Hamish wrote:
     

Patrick_schirmer wrote:

I have a lot of lines that are linked to another
forming various nets. Several of those lines are
deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be
perfect to delete the lines, or to search for the
nodes that link to more than one line.
I was searching in v.generalize, v.net,
v.to.point, v.to.db but won't find the proper
approach.

not a v.net specific thing, but in general for
vector maps you can use v.clean to remove (or isolate)
line "dangles" with the 'rmdangle' (or 'chdangle')
tools.

maybe that helps,
Hamish

(attachments)

example.zip (4.16 KB)
example_1.xcf (40.1 KB)

Hi,

I did something similar with a river network.

1. Make a network out of it.
2. Count lines connected to each node. (v.net option=nreport)
3. Check the lines: if a related node has only one connected line, delete the line.

Cheers,
Achim

Am 17.11.2010 13:49, schrieb Patrick_schirmer:

Hi Maris,

Attached you'll find an example as shp and a picture. I search for the
lines that is highlighted in the picture, which are the only ones
connected to more then one line.
My approach would be to create points out of endpoints, buffer endpoints
and count points per buffer, but I can't import v.vect.stats, as stated
in the other post.

Would be great if you or someone else in the list had an idea which
works on GRASS 6.4.

greetz,

Patrick

On 11/17/2010 09:57 AM, Maris Nartiss wrote:

Hello,
can You, please, send in a graphical example or put for download
sample data set?

Maris.

2010/11/15, Patrick_schirmer<patrick_GIS@gmx.ch>:

Thanks Markus and Hamish,

Unfortunately v.clean rmdangle will not work for me. With Threshhold<0
it deletes more or less all lines, otherwise none. I guess it is because
the "nests" of lines consist of 4-20 lines and are all seperated from
each other.
Per defintion a line "is considered to be a dangle if no other line of
given /type/ is on at least one end node" (documentation v.clean
rmdangle). As I am searching for lines that have exactly one line as sum
of all connecting node, this tool doesn't help.

I will try to solve the problem by creating points out of the line
(nodes), buffering the points and delete the ones intersecting only one
line. But I still hope that there is a more direct solution to delete
the line as a geometry.

So if there are any other suggestions I would be happy about.
I'll keep you up to date in case I find a solution.

Cheers, Patrick

On 11/12/2010 09:51 PM, Hamish wrote:

Patrick_schirmer wrote:

I have a lot of lines that are linked to another
forming various nets. Several of those lines are
deadends. Now I search for a option to delete
"dead-ends" within those networks. It would be
perfect to delete the lines, or to search for the
nodes that link to more than one line.
I was searching in v.generalize, v.net,
v.to.point, v.to.db but won't find the proper
approach.

not a v.net specific thing, but in general for
vector maps you can use v.clean to remove (or isolate)
line "dangles" with the 'rmdangle' (or 'chdangle')
tools.

maybe that helps,
Hamish

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user