[GRASS-user] grass : how to do Isochrone maps?

Hello,

I would like to make Isochrone maps with grass(time and distance
calculations)

1 / Could you tell me how to do that with grass please?

2 / A 'road graph' should be compulsory. Do you know where we can get one?

In advance, thank you for your reply.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/grass-how-to-do-Isochrone-maps-tp5176403.html
Sent from the Grass - Users mailing list archive at Nabble.com.

On 04/12/14 10:12, image93 wrote:

Hello,

  I would like to make Isochrone maps with grass(time and distance
calculations)

1 / Could you tell me how to do that with grass please?

In GRASS7 You can use the extension v.isochrones [1].

But this is just a script which provides some fancy packaging r.cost. You can look at the source code of the script [2] to see the details.

2 / A 'road graph' should be compulsory. Do you know where we can get one?

It all depends on the region you are working in, but as starters try OpenStreetMap.

Moritz

[1] http://grasswiki.osgeo.org/wiki/AddOns/GRASS7/vector#v.isochrones
[2] http://trac.osgeo.org/grass/browser/grass-addons/grass7/vector/v.isochrones/v.isochrones.py

Hello,

Thank you for your reply. Sorry i'm newbie with grass

1/ I downloaded grass 7 beta on my windows 7. I installed the v.isochrones
from addons.
But how to use this new extension ? is it possible to use an graphical
interface (gui) or i have to use the prompt command?

So according to you, it's more appropriate to use v.isochrones than
v.net.iso ?

2/ Regarding my area of study : the region of Paris.

In advance thank you.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/grass-how-to-do-Isochrone-maps-tp5176403p5176801.html
Sent from the Grass - Users mailing list archive at Nabble.com.

On 07/12/14 23:38, image93 wrote:

Hello,

Thank you for your reply. Sorry i'm newbie with grass

1/ I downloaded grass 7 beta on my windows 7. I installed the v.isochrones
from addons.
But how to use this new extension ? is it possible to use an graphical
interface (gui) or i have to use the prompt command?

Just type v.isochrones in the command console of the GUI (or in the terminal) and the graphical interface of the command will pop up.

If you want to include extensions in your menus, or just customise the existing menus, you can use the toolboxes [1].

So according to you, it's more appropriate to use v.isochrones than
v.net.iso ?

v.net.iso gives you isochrones along networks, so the different segments of the network will be categorised according to the isochrone they belong to. See the examples in the man page for illustration: [2] or a video (also illustrating the new interactive network tool) [3]

v.isochrones creates polygons across all the space of the current working region, i.e. it estimates travel time also for places that are not on the network. The man page does not seem to be online currently, but you can see a video based on a development version for illustration [4].

2/ Regarding my area of study : the region of Paris.

OpenStreetMap is of very good quality in Paris, so you can use that.

Moritz

[1] http://grass.osgeo.org/grass70/manuals/wxGUI.toolboxes.html
[2] http://grass.osgeo.org/grass70/manuals/v.net.iso.html
[3] https://www.youtube.com/watch?v=NRLK2RBw3tI
[4] http://tomahawk.ulb.ac.be/moritz/v_isochrones_demo.ogv

Hello,

Thank you very much. The v.isochrones seems to require in input a vector
network (roads) with a speed attributes column. I have just checked my
openstreetmap roads vector layer. And this column is not fully completed,
data are lacking for many routes. How can I do? According to you, before
applying v.isochrones, should I do anything on the input data (editing about
attributes or/and geometry/topology) ?

Thank you.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/grass-how-to-do-Isochrone-maps-tp5176403p5177067.html
Sent from the Grass - Users mailing list archive at Nabble.com.

On 09/12/14 17:37, image93 wrote:

Hello,

Thank you very much. The v.isochrones seems to require in input a vector
network (roads) with a speed attributes column. I have just checked my
openstreetmap roads vector layer. And this column is not fully completed,
data are lacking for many routes. How can I do? According to you, before
applying v.isochrones, should I do anything on the input data (editing about
attributes or/and geometry/topology) ?

v.isochrones does not require a topologically clean network. If possible errors (e.g. non-closures) are below resolution size, they should not even make any difference.

As mentioned privately, I actually haven't tested the module with missing speed attribute data, so I don't know the consequences and don't have time currently to look into that.

Moritz

Dear all, dear Moritz,

thank you again for your last usefull messages. Regarding my driving
isochrone works. Last time (December 2014), when i executed the v.isochrones
process, an error message appeared due to running of memory.

For remind, i 'm working on windows 7 with grass 7.0. The vector network
comes from OSM data ('roads cover). This is a big road network (490 lines
objects!!) with of course the usefull field for speed profile. My area of
interest is componed by the two french admnistrative regions (Ile de France
and Picardie).
I have only one starting point. The projection is lambert 93.

So i have just tried a new test. I changed the resolution (nsres : 100/
ewres :99.9) just to ensure, for the time being, that the process works
well. But i have a new error message which would seem to have no link with
memory problem this time. I paste below the error message :

----------------------------------------------------------------------------
(Wed Feb 25 22:46:55 2015)
v.isochrones --overwrite map=roads_merge_idf_picardie_L93@dataset layer=1
speed_column=speed_prof start_points=MANUTAN_starting_points_L93@dataset
isochrones=polygons timemap=raster time_steps=15,30,45 offroad_speed=0
Reading features...
Writing raster map...
Converted points/lines: 489204 of 489204
v.to.rast terminé.
Traceback (most recent call last):
  File "C:\Users\laurent\AppData\Roaming\GRASS7\addons/scrip
ts/v.isochrones.py", line 211, in <module>
    main()
  File "C:\Users\laurent\AppData\Roaming\GRASS7\addons/scrip
ts/v.isochrones.py", line 158, in main
    null_value = resolution / (float(offroad_speed) * 1000 /
3600)
ZeroDivisionError: float division by zero
(Wed Feb 25 22:52:36 2015) La commande s'est terminée (5 min 41 sec)
------------------------------------------------------------------------------------------------------------------------

Moreover, i paste you below a SS representing map (road network and starting
point (red colour)) and also the current settings of my Grass region.

<http://osgeo-org.1560.x6.nabble.com/file/n5190120/SS_v.jpg&gt;

I'm realy sorry to disturb you. But isochrony maps is really important my my
project.

Thank you very much.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/grass-how-to-do-Isochrone-maps-tp5176403p5190120.html
Sent from the Grass - Users mailing list archive at Nabble.com.

On 26/02/15 00:15, image93 wrote:

Dear all, dear Moritz,

thank you again for your last usefull messages. Regarding my driving
isochrone works. Last time (December 2014), when i executed the v.isochrones
process, an error message appeared due to running of memory.

For remind, i 'm working on windows 7 with grass 7.0. The vector network
comes from OSM data ('roads cover). This is a big road network (490 lines
objects!!) with of course the usefull field for speed profile. My area of
interest is componed by the two french admnistrative regions (Ile de France
and Picardie).

I imagine you are lacking a few zeroes here. 490 lines is not a big network :wink:

----------------------------------------------------------------------------
(Wed Feb 25 22:46:55 2015)
v.isochrones --overwrite map=roads_merge_idf_picardie_L93@dataset layer=1
speed_column=speed_prof start_points=MANUTAN_starting_points_L93@dataset
isochrones=polygons timemap=raster time_steps=15,30,45 offroad_speed=0

   File "C:\Users\laurent\AppData\Roaming\GRASS7\addons/scrip
ts/v.isochrones.py", line 158, in main
     null_value = resolution / (float(offroad_speed) * 1000 /
3600)
ZeroDivisionError: float division by zero

Yes, I forgot to foresee the case where the user wants an offroad speed of 0. For now, could you just put this to a very low value > 0 ?

Actually, what you seem to want is more like what I started to implement in the alternative method, i.e. v.net.iso + r.grow.distance in which every pixel is just assigned to the travel time of the closest network segment, within a user-defined distance threshold to the network (thus potentially allowing empty areas not covered by isochrones).

I'm realy sorry to disturb you. But isochrony maps is really important my my
project.

I'll try to find some time soon to update the module with the second method.

Moritz