[GRASS-user] Network analysis

Markus Neteler neteler at osgeo.org
Mon Aug 17 03:53:49 EDT 2009


On Mon, Aug 17, 2009 at 9:21 AM, David Dabin<david.dabin at gmail.com> wrote:
> Dear Grass Users/Developpers,
>
> I am studying the distribution of car accidents on a road network. In order
> to define hotspots and hotzones (succession of hotspots on a road) based on
> a  local density of accidents computed on the network, I use the v.net.alloc
> function (to allocate a subnet to each accident event). For the moment, the
> density is thus expressed per "Thiessen" segment. To illustrate, Typical
> output is similar to
>
> ----x---|---x-|-x--|--x----
>
> where
>    x: is the location of one or many accidents,
>    -: is a piece of the network,
>    |: is the limit of the Thiessen segments
>
> My density of accident is simply the number of accident divided by the
> length of the Thiessen segment. Howerver, as you can notice from the
> example, the Thiessen segments (|---x-|) are not symmetric relatively to the
> accident location. I thus would like to compute the length on the right and
> on the left of each segment. I have tried to cut the output of v.net.alloc
> with v.edit and coordinates of accident but it do not works. Do you have an
> idea on how to proceed and which function should I use or implement?

I think that you need a LRS (Linear Referencing System):
http://grass.osgeo.org/grass64/manuals/html64_user/lrs.html
It offers "v.lrs.where" to find line id and real km+offset for given
points in vector map using linear referencing system.

Please keep us in the loop how it goes. And don't hesitate to improve
things or to suggest better documentation.

Best
Markus


More information about the grass-user mailing list