[RouterGeocoder] Extracting Abstract resources from GRASS

Sampson, David David.Sampson at NRCan-RNCan.gc.ca
Thu Dec 4 08:56:21 EST 2008


Hey Folks,

Saw the post about "Routing for non-transportation networks?".

Has anyone looked into GRASS... I know it is complicated for some to get
started and is a huge project, but there are useful parts that the GRASS
community may wish to see more widely used.

I hope there are more GRASS users on this list than myself to help fill
in the gaps.

In response to the fear that good thoughts may spawn re-inventing many
wheels here some some links to check out.

If we agree that routing and network occur outside of the Transpo realm,
then lets think of natures biggest netowrks. Lakes, rivers, streams and
oceans. And yes you know scientists have modeled this. And the GRASS
project has some great tools.

For starters lets check out the vector manual pages
(http://grass.itc.it/grass64/manuals/html64_user/vectorintro.html)

Search for "network" and you'll find the section on "Vector network
analysis"....

=================
*	Vector maintenance: v.net
<http://grass.itc.it/grass64/manuals/html64_user/v.net.html> 
*	Shortest path: d.path
<http://grass.itc.it/grass64/manuals/html64_user/d.path.html>  and
v.net.path
<http://grass.itc.it/grass64/manuals/html64_user/v.net.path.html> 
*	Traveling salesman (round trip): v.net.salesman
<http://grass.itc.it/grass64/manuals/html64_user/v.net.salesman.html> 
*	Allocation of sources (create subnetworks, e.g. police station
zones): v.net.alloc
<http://grass.itc.it/grass64/manuals/html64_user/v.net.alloc.html> 
*	Minimum Steiner trees (star-like connections, e.g. broadband
cable connections): v.net.steiner
<http://grass.itc.it/grass64/manuals/html64_user/v.net.steiner.html> 
*	Iso-distances (from centers): v.net.iso
<http://grass.itc.it/grass64/manuals/html64_user/v.net.iso.html> 
=================

There you go, most of the common networking problems already figured
out....

If you want to go even deeper then we move to "Linear referencing system
(LRS)"

======================
LRS uses linear features and distance measured along those features to
positionate objects. There are the commands v.lrs.create
<http://grass.itc.it/grass64/manuals/html64_user/v.lrs.create.html>  to
create a linear reference system, v.lrs.label
<http://grass.itc.it/grass64/manuals/html64_user/v.lrs.label.html>  to
create stationing on the LRS, v.lrs.segment
<http://grass.itc.it/grass64/manuals/html64_user/v.lrs.segment.html>  to
create points/segments on LRS, and v.lrs.where
<http://grass.itc.it/grass64/manuals/html64_user/v.lrs.where.html>  to
find line id and real km+offset for given points in vector map using
linear reference system. 

The LRS tutorial
<http://grass.itc.it/grass64/manuals/html64_user/lrs.html>  explains
further details. 

======================

So, from the requirements I see many of them already filled from the
GRASS community, and then some... Oh yhea... I am sure many of these
modules are C.

I know the GPL lic is going to start the fires again, but we just got
done saying that we want to avoid parralel efforts. So go a haead and
check out
http://grass.osgeo.org/wiki/GRASS_AddOns#Copyright_and_licensing_informa
tion to see how the GRASS community handles addons.

Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/routergeocoder/attachments/20081204/eb810cd8/attachment.html


More information about the Routergeocoder mailing list