[GRASS-user] [GRASSLIST:1098] v.net.steiner

The input parameter seems to be terminals. Can they be points?

M S wrote on 06/14/2006 03:13 AM:

The input parameter seems to be terminals. Can they be points?

They can be points (nodes) which have to be connected to the network.
You may take a look at:
http://mpa.itc.it/corso_dit2004/grass04_4_vector_network_neteler.pdf
slide 19

Markus

nice document! this is great stuff.

The v.net.steiner seems to be a realistic functional model by using an existing (road) network to know what physical routes it can follow to the given terminals. this looks fantastic, and i cant wait to build some test data.

is there a function (raster or vector) that would allow for building the network links/lines by inputting only the points without regards to an existing (road) network? (using something like the minimum spanning tree example below). This function would be great as a first cut in network analysis.

the page below illustrates the minimum spanning tree, but if i understand right, just nodes are inputted. then the algorithm does at a minimum 3 things 1) identifies clusters of sites 2) builds the links to connect the clusters to each other, and 3) then finds from each cluster, the nearest point to other clusters.
http://www.cs.sunysb.edu/~algorith/files/minimum- spanning-tree.shtml

i dont think the v.net.steiner function does what the steiner-tree function below illustrates, because the GRASS version uses an existing (road) network to realistically model the existing pathways (nice implementation!). This was the steiner tree example from the same site.
http://www.cs.sunysb.edu/~algorith/files/steiner-tree.shtml
I’m working with a Network Engineer on using GRASS to solve the network analysis problems. Using the NON-GRASS steiner tree (from example above) wont work becuase as it goes to build the links, but connects lines to lines, rather than given nodes. in the network implementaion this would be a mid-span junction, or splicing the fiber at this junction to connect the lines. the minimum spanning tree is more applicable. However, i suspect that the GRASS minimum steiner tree is the most applicable and realistic model/function.

The GRASS minimum steiner tree is a realistic functional model that uses real network data in conjunction with the terminals. this seems like a great deployment of the steiner tree in conjunction with consideration to the existing network such as roads. I cant wait to have some fun with GRASS and give this a whirl!

as usual, keep up the great work, and thanks to everyone who makes GRASS GIS be all it can be! feels great to find a GIS like this one which is fun to work with, and has such community invovlement. truely a great environmant that makes GIS fun (again for me).

On 6/14/06, Markus Neteler <neteler@itc.it> wrote:

M S wrote on 06/14/2006 03:13 AM:

The input parameter seems to be terminals. Can they be points?

They can be points (nodes) which have to be connected to the network.
You may take a look at:
http://mpa.itc.it/corso_dit2004/grass04_4_vector_network_neteler.pdf
slide 19

Markus


grassuser mailing list
grassuser@grass.itc.it
http://grass.itc.it/mailman/listinfo/grassuser

On Wed, Jun 14, 2006 at 08:52:37AM -0400, M S wrote:

nice document! this is great stuff.

Thanks. And note that data elaboration with the current
6.1-CVS is even easier...

The v.net.steiner seems to be a realistic functional model by using an
existing (road) network to know what physical routes it can follow to the
given terminals. this looks fantastic, and i cant wait to build some test
data.

There should be a roads_net in spearfish6.0 which was recently
updated by Radim.

is there a function (raster or vector) that would allow for building the
network links/lines by inputting only the points without regards to an
existing (road) network? (using something like the minimum spanning tree
example below). This function would be great as a first cut in network
analysis.

You could use v.hull and then v.type to make it lines or use
v.extract to only extract the boundaries, then v.type for
boundaries -> lines. (untested)

the page below illustrates the minimum spanning tree, but if i understand
right, just nodes are inputted. then the algorithm does at a minimum 3
things 1) identifies clusters of sites 2) builds the links to connect the
clusters to each other, and 3) then finds from each cluster, the nearest
point to other clusters.
http://www.cs.sunysb.edu/~algorith/files/minimum-spanning-tree.shtml&lt;http://www.cs.sunysb.edu/~algorith/files/minimum-spanning-tree.shtml&gt;

i dont think the v.net.steiner function does what the steiner-tree function
below illustrates, because the GRASS version uses an existing (road) network
to realistically model the existing pathways (nice implementation!).

Kudos to Roberto Micarelli and Radim.

This was the steiner tree example from the same site.
http://www.cs.sunysb.edu/~algorith/files/steiner-tree.shtml
I'm working with a Network Engineer on using GRASS to solve the network
analysis problems. Using the NON-GRASS steiner tree (from example above)
wont work becuase as it goes to build the links, but connects lines to
lines, rather than given nodes. in the network implementaion this would be
a mid-span junction, or splicing the fiber at this junction to connect the
lines. the minimum spanning tree is more applicable. However, i suspect
that the GRASS minimum steiner tree is the most applicable and realistic
model/function.

It would be great to have some examples online, for
http://grass.itc.it/applications/index.php

The GRASS minimum steiner tree is a realistic functional model that uses
real network data in conjunction with the terminals. this seems like a
great deployment of the steiner tree in conjunction with consideration to
the existing network such as roads. I cant wait to have some fun with GRASS
and give this a whirl!

as usual, keep up the great work, and thanks to everyone who makes GRASS GIS
be all it can be! feels great to find a GIS like this one which is fun to
work with, and has such community invovlement. truely a great environmant
that makes GIS fun (again for me).

Welcome!

Markus

On 6/14/06, Markus Neteler <neteler@itc.it> wrote:
>
>M S wrote on 06/14/2006 03:13 AM:
>
>> The input parameter seems to be terminals. Can they be points?
>
>They can be points (nodes) which have to be connected to the network.
>You may take a look at:
>http://mpa.itc.it/corso_dit2004/grass04_4_vector_network_neteler.pdf
>slide 19
>
>Markus
>
>_______________________________________________
>grassuser mailing list
>grassuser@grass.itc.it
>http://grass.itc.it/mailman/listinfo/grassuser
>

--
Markus Neteler <neteler itc it> http://mpa.itc.it
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy

seems like the terminals are identified by a layer number and range of categories.

how do you get the layers associated with each feature type like arc, node, point? to input into the function?

are the categories created while numbering basic elements first, and then complex ones? meaning if you have two nodes and an arc, would the category number for the arc be 3?

On 6/14/06, Markus Neteler <neteler@itc.it> wrote:

On Wed, Jun 14, 2006 at 08:52:37AM -0400, M S wrote:

nice document! this is great stuff.

Thanks. And note that data elaboration with the current
6.1-CVS is even easier…

The v.net.steiner seems to be a realistic functional model by using an
existing (road) network to know what physical routes it can follow to the
given terminals. this looks fantastic, and i cant wait to build some test
data.

There should be a roads_net in spearfish6.0 which was recently
updated by Radim.

is there a function (raster or vector) that would allow for building the
network links/lines by inputting only the points without regards to an
existing (road) network? (using something like the minimum spanning tree
example below). This function would be great as a first cut in network
analysis.

You could use v.hull and then v.type to make it lines or use
v.extract to only extract the boundaries, then v.type for
boundaries → lines. (untested)

the page below illustrates the minimum spanning tree, but if i understand
right, just nodes are inputted. then the algorithm does at a minimum 3
things 1) identifies clusters of sites 2) builds the links to connect the
clusters to each other, and 3) then finds from each cluster, the nearest
point to other clusters.
http://www.cs.sunysb.edu/~algorith/files/minimum-spanning-tree.shtml <http://www.cs.sunysb.edu/%7Ealgorith/files/minimum-spanning-tree.shtml>

i dont think the v.net.steiner function does what the steiner-tree function
below illustrates, because the GRASS version uses an existing (road) network
to realistically model the existing pathways (nice implementation!).

Kudos to Roberto Micarelli and Radim.

This was the steiner tree example from the same site.
http://www.cs.sunysb.edu/~algorith/files/steiner-tree.shtml
I’m working with a Network Engineer on using GRASS to solve the network
analysis problems. Using the NON-GRASS steiner tree (from example above)
wont work becuase as it goes to build the links, but connects lines to
lines, rather than given nodes. in the network implementaion this would be
a mid-span junction, or splicing the fiber at this junction to connect the
lines. the minimum spanning tree is more applicable. However, i suspect
that the GRASS minimum steiner tree is the most applicable and realistic
model/function.

It would be great to have some examples online, for
http://grass.itc.it/applications/index.php

The GRASS minimum steiner tree is a realistic functional model that uses
real network data in conjunction with the terminals. this seems like a
great deployment of the steiner tree in conjunction with consideration to
the existing network such as roads. I cant wait to have some fun with GRASS
and give this a whirl!

as usual, keep up the great work, and thanks to everyone who makes GRASS GIS
be all it can be! feels great to find a GIS like this one which is fun to
work with, and has such community invovlement. truely a great environmant
that makes GIS fun (again for me).

Welcome!

Markus

On 6/14/06, Markus Neteler <neteler@itc.it> wrote:

M S wrote on 06/14/2006 03:13 AM:

The input parameter seems to be terminals. Can they be points?

They can be points (nodes) which have to be connected to the network.
You may take a look at:
http://mpa.itc.it/corso_dit2004/grass04_4_vector_network_neteler.pdf
slide 19

Markus


grassuser mailing list
grassuser@grass.itc.it
http://grass.itc.it/mailman/listinfo/grassuser


Markus Neteler http://mpa.itc.it
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy


grassuser mailing list
grassuser@grass.itc.it
http://grass.itc.it/mailman/listinfo/grassuser

more questions on v.net.steiner. i think i’m getting closer.

through QGIS i was able to detrmine that:
layer 0 (arc) = the lines connecting the buildings to the streets
layer 1 (arc) = the street network
layer 1 (point) = the buildings.

then i run:
v.net.steiner input=network output=network_steiner alayer=1 nlayer=1 tcats=1-208

then i get this output:
Number of Terminals: 207 <— Should that be 208?
Number of Steiner points set to 205 <— is that correct, given 1-208?
Killed
GrassPrompt->

any suggestions? do all the arcs (the street connectors and the streets) have to be on one layer? if so how do you do this?

On 6/15/06, M S <mseibel@gmail.com> wrote:

seems like the terminals are identified by a layer number and range of categories.

how do you get the layers associated with each feature type like arc, node, point? to input into the function?

are the categories created while numbering basic elements first, and then complex ones? meaning if you have two nodes and an arc, would the category number for the arc be 3?

On 6/14/06, Markus Neteler <neteler@itc.it > wrote:

On Wed, Jun 14, 2006 at 08:52:37AM -0400, M S wrote:

nice document! this is great stuff.

Thanks. And note that data elaboration with the current
6.1-CVS is even easier…

The v.net.steiner seems to be a realistic functional model by using an
existing (road) network to know what physical routes it can follow to the
given terminals. this looks fantastic, and i cant wait to build some test
data.

There should be a roads_net in spearfish6.0 which was recently
updated by Radim.

is there a function (raster or vector) that would allow for building the
network links/lines by inputting only the points without regards to an
existing (road) network? (using something like the minimum spanning tree
example below). This function would be great as a first cut in network
analysis.

You could use v.hull and then v.type to make it lines or use
v.extract to only extract the boundaries, then v.type for
boundaries → lines. (untested)

the page below illustrates the minimum spanning tree, but if i understand
right, just nodes are inputted. then the algorithm does at a minimum 3
things 1) identifies clusters of sites 2) builds the links to connect the
clusters to each other, and 3) then finds from each cluster, the nearest
point to other clusters.
http://www.cs.sunysb.edu/~algorith/files/minimum-spanning-tree.shtml <http://www.cs.sunysb.edu/%7Ealgorith/files/minimum-spanning-tree.shtml >

i dont think the v.net.steiner function does what the steiner-tree function
below illustrates, because the GRASS version uses an existing (road) network
to realistically model the existing pathways (nice implementation!).

Kudos to Roberto Micarelli and Radim.

This was the steiner tree example from the same site.
http://www.cs.sunysb.edu/~algorith/files/steiner-tree.shtml
I’m working with a Network Engineer on using GRASS to solve the network
analysis problems. Using the NON-GRASS steiner tree (from example above)
wont work becuase as it goes to build the links, but connects lines to
lines, rather than given nodes. in the network implementaion this would be
a mid-span junction, or splicing the fiber at this junction to connect the
lines. the minimum spanning tree is more applicable. However, i suspect
that the GRASS minimum steiner tree is the most applicable and realistic
model/function.

It would be great to have some examples online, for
http://grass.itc.it/applications/index.php

The GRASS minimum steiner tree is a realistic functional model that uses
real network data in conjunction with the terminals. this seems like a
great deployment of the steiner tree in conjunction with consideration to
the existing network such as roads. I cant wait to have some fun with GRASS
and give this a whirl!

as usual, keep up the great work, and thanks to everyone who makes GRASS GIS
be all it can be! feels great to find a GIS like this one which is fun to
work with, and has such community invovlement. truely a great environmant
that makes GIS fun (again for me).

Welcome!

Markus

On 6/14/06, Markus Neteler < neteler@itc.it> wrote:

M S wrote on 06/14/2006 03:13 AM:

The input parameter seems to be terminals. Can they be points?

They can be points (nodes) which have to be connected to the network.
You may take a look at:
http://mpa.itc.it/corso_dit2004/grass04_4_vector_network_neteler.pdf
slide 19

Markus


grassuser mailing list
grassuser@grass.itc.it
http://grass.itc.it/mailman/listinfo/grassuser


Markus Neteler http://mpa.itc.it
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy


grassuser mailing list
grassuser@grass.itc.it
http://grass.itc.it/mailman/listinfo/grassuser