<div dir="ltr">Hi all,<div><br></div><div>I just tried two different tools that both work to extract a subnetwork that connects a set of selected nodes:</div><div><br></div><div>1) v.net.allpairs works fine and a subnetwork is extracted. However, this definitely needs some clean up and layer/attribute operations to get the connected tables/cats from the original network</div><div><br></div><div>2) v.net.steiner also works fine. However, it seems that this approach takes slightly longer than v.net.allpairs.</div><div><br></div><div>In general both approaches are rather slow if one wants to extract a subnetwork based on e.g. >1000 selected nodes from a very large network. For example, my initial (large) network consists of >100000 lines which makes any further analysis rather slow. Thus, I wanted to minimize the network to one that still connects my target nodes but skips parts that are not needed.<br><br></div><div>Thank you for you suggestions, anyway.<br><br></div><div>/Johannes<br></div><div><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 28, 2017 at 10:06 AM, Markus Metz <span dir="ltr"><<a href="mailto:markus.metz.giswork@gmail.com" target="_blank">markus.metz.giswork@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div><br><br>On Thu, Sep 28, 2017 at 9:43 AM, Moritz Lennert <<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.worldonline.be</a>> wrote:<br>><br>> On 28/09/17 08:51, Markus Metz wrote:<br>>><br>>><br>>><br>>> On Wed, Sep 27, 2017 at 11:55 PM, Moritz Lennert <<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.worldonline.be</a> <mailto:<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.<wbr>worldonline.be</a>>> wrote:<br>>>  ><br>>>  > On 27/09/17 21:03, Markus Metz wrote:<br>>>  >><br>>>  >><br>>>  >><br>>>  >> On Wed, Sep 27, 2017 at 4:07 PM, Moritz Lennert <<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.worldonline.be</a> <mailto:<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.<wbr>worldonline.be</a>> <mailto:<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.<wbr>worldonline.be</a> <mailto:<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.<wbr>worldonline.be</a>>>> wrote:<br>>>  >>  ><br>>>  >>  ><br>>>  >>  ><br>>>  >>  > Le 27 septembre 2017 13:11:54 GMT+02:00, Johannes Radinger <<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@gmail.com</a> <mailto:<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@<wbr>gmail.com</a>> <mailto:<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@<wbr>gmail.com</a> <mailto:<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@<wbr>gmail.com</a>>>> a écrit :<br>>>  >>  > >Hi,<br>>>  >>  > ><br>>>  >>  > >I have a GRASS vector network that represents a river network (with<br>>>  >>  > >many<br>>>  >>  > >first order tributaries) and that has additional connected nodes that<br>>>  >>  > >represent sampling sites.<br>>>  >>  > ><br>>>  >>  > >I'd like to extract a minimum subnetwork of the full network that still<br>>>  >>  > >connects a set of selected nodes (e.g. identified by their cat).<br>>>  >>  > >However,<br>>>  >>  > >network edges (i.e. river segments) that are not necessary to connect<br>>>  >>  > >the<br>>>  >>  > >sampling points should be excluded in the new subnetwork. Is there a<br>>>  >>  > >function or process in GRASS GIS to extract such a subnetwork that<br>>>  >>  > >fully<br>>>  >>  > >connects a set of selected nodes?<br>>>  >>  ><br>>>  >>  > not sure but maybe v.net.spanningtree ?<br>>>  >><br>>>  >> v.net.spanningtree calculates a tree covering all nodes in the network, not only selected nodes, therefore v.net.spanningtree does not apply here.<br>>>  ><br>>>  ><br>>>  > If you connect only the selected nodes to the network, wouldn't that work ? Or does v.net.spanningtree consider all connections between lines as nodes ?<br>>><br>>> v.net.spanningtree considers all internal nodes of the network. See also<br>>> <a href="https://en.wikipedia.org/wiki/Spanning_tree" target="_blank">https://en.wikipedia.org/wiki/<wbr>Spanning_tree</a><br>><br>><br>> Ok, thanks. So, one would need to "disconnect" lines at non-selected nodes for this to work.<br><br></div></div></div>or use v.net.steiner (see my previous reply)<span class=""><br><div>><br>> And maybe some clarification on what is meant by "nodes" in the sentence "A spanning tree is a minimum cost subnetwork connecting all nodes in an undirected network" in the man page might help future users.</div><div><br></div></span><div>Yes, that would help. I needed to look at the library fn NetA_spanning_tree() to be sure.<br></div><div><br></div><div>Markus M<br></div><div>><br>> Moritz <br><br></div></div>
</blockquote></div><br></div></div>