Service access model 2
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Proximity to health services has been shown to be a key factor determining outcomes for a range of public health issues. Modelling travel time to health care using GIS has become a common of planning tool for identify populations remote from health services and to support better transport and infrastructure planning. This model has two primary purposes. The first is to allow the placement of individuals to 'game' particular travel time scenarios. The second is to integrate travel on a transport network. In this case adding cars on roads to simulate the variable and random nature of car traffic simulating the time it may take to get a lift once a road is reached.
This is significant as most raster based models assume a constant travel time based on surface parameters alone. Whilst network models do not account for off network travel. This model integrates both off-network and network transport.
HOW IT WORKS
The model uses GIS derived base grid data-sets that model travel time to health services with each cell atibuted the ammountof time it will take to a health service. This has been modelled in a GIS (SAGA-GIS) based on a hypothetical potential travel speed over various land cover and transport infrastructure types.
People (agents) placed into the model travel to the surrounding cell with the smallest travel time value value and so 'flow' towards the destination. However if the 'cars-go' variable is activated when a person reaches a road value it continues to move at a walking speed untill a car arrives. It then takes a 'lift' with the car to the closest destination point 'health facility'. If an agent is traveling for more than two hours it turns red indicating that it is in a critical condition.
HOW TO USE IT
Initiate the model with 'setup' then place a person some where in the landscape. Press go to set the agent moving. A model can be reset at any time using the reset button (faster than set-up).
Destination points appear as black circles.
The default land cover display is:
Primary Road: Red Secondary Road: Orange Rivers: Blue Forest: Green Scrub: Olive Grass: Light yellow
To have cars in the model turn 'cars-go' on. To change the number of car on the road network change the traffic slider from 1 (dead of night) to 100 (rush hour).
To view the underlying travel time grid select 'Travel-Time' on the view chooser box and press the view-new button.
THINGS TO NOTICE
The difference in patient travel time with and without the car network model.
THINGS TO TRY
Change the number of cars based on a late night or rush-hour senario. Try running the model with and without the cars from the same position.
EXTENDING THE MODEL
Different transport types could be included (Abulance, Bus, Truck, Motor bike.) that could move more or less on different road types and/or have different destination points.
There could be multiple underlying travel grids based on different environmental conditions.
CREDITS AND REFERENCES
Credit Rohan Fisher, research institute for environment and livelihoods, Charles Darwin University Rohan.fisher@cdu.edu.au
COPYRIGHT AND LICENSE
Copyright 2016 Rohan Fisher.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Comments and Questions
extensions [gis] breed [people person] breed [cars car] breed [destinations destrination] globals [ tt-dataset TS-dataset LC-dataset time km avspeed atraveltime atraveldist] patches-own [LC TT TS METERS roads ] turtles-own [state pausetime traveltime traveldist] to setup __clear-all-and-reset-ticks set-default-shape turtles "circle" ask patches [set meters 50] setup-patches end to go ask people [checkspeed] ask turtles [atpusk] ask cars [move-cars] if cars-go [startcars ask people [atroad]] if not any? people [ stop ] tick end to atroad ifelse (any? cars-on neighbors or any? cars-here) [set state "lift"] [ if (lc = 201 or lc = 202 or lc = 203 and state != "waiting") [set state "wait"] ] end to checkspeed if (pausetime < 1 or state = "lift") [ move ] ifelse (state = "waiting") [set pausetime pausetime - 1] [if (state = "wait")[set pausetime (30) set state "waiting"] ] ifelse (state = "go") [set pausetime (ts / 2) set state "pause"] [if (state = "pause") [set pausetime pausetime - 1] ] if traveltime > 120 [set color red set size 8 ] end to move-cars if (pausetime < 1 ) [ move-to min-one-of neighbors with [lc > 200] [tt] set state "go" ] ifelse (state = "go") [set pausetime (ts / 2) set state "pause"] [if (state = "pause") [set pausetime pausetime - 1] ] end to move move-to min-one-of neighbors [tt] ifelse (state = "waiting" and lc = 201 or lc = 202 or lc = 203) [set traveltime 1 + traveltime] [set traveltime ((TS / 60) + traveltime) ] ask one-of people [ set atraveltime (traveltime) ] ask one-of people [ set traveldist ((.05) + traveldist) set atraveldist traveldist] set state "go" end to atpusk if (tt < 1 ) [die] if (count people < 1) [stop] end to reset set km 0 set avspeed .00001 set time .01 end to startcars let gocar random (200 - (traffic * 1.8)) if gocar = 1 [ ask n-of (random 8) patches with [LC = 201 and not any? other turtles-here][sprout-cars 1 [set shape "car" set color red set size 12 ]] ask n-of (random 3) patches with [LC = 202 and not any? other turtles-here][sprout-cars 1 [set shape "car" set color blue set size 12 ]] ask n-of (1) patches with [LC = 203 and not any? other turtles-here][sprout-cars 1 [set shape "car" set color green set size 12 ]]] end to setup-patches set km 0 set time 1 import-pcolors-rgb "LandCover_png.png" set tt-dataset gis:load-dataset "Travel_time.asc" set TS-dataset gis:load-dataset "Travel_speed.asc" set LC-dataset gis:load-dataset "Landcover.asc" gis:apply-raster tt-dataset tt gis:apply-raster TS-dataset TS gis:apply-raster LC-dataset LC gis:set-world-envelope (gis:envelope-of LC-dataset) ask patches [ifelse (lc <= 0) or (lc >= 0) [set lc lc] [set lc 0]] ask patches [ifelse (tt <= 0) or (tt >= 0) [set tt tt] [set tt 0]] ask patches with [ tt = 0 ] [sprout-destinations 1 [set shape "circle 2" set color yellow set size 12 ]] end To view-new if View = "Land Cover" [import-pcolors-rgb "LandCover_png.png"] if view = "Travel Time" [ ask patches [ set pcolor scale-color red tt 500 0 ]] if view = "Land Cover2" [ ask patches [ set pcolor scale-color blue LC 203 1]] if view = "Travel Time" [ ask patches with [ tt = 0 ] [sprout-destinations 1 [set color yellow set size 5 ]]] end
There is only one version of this model, created over 7 years ago by Rohan Fisher.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Fisher_Lassa_2017_Interactive, open source, travel time senario modelling.pdf | Journal article providing background to this work and describing the model. | over 7 years ago, by Rohan Fisher | Download | |
Model-2.zip | data | Nlogo and all data files to run the model. | over 7 years ago, by Rohan Fisher | Download |
Service access model 2.png | preview | Preview for 'Service access model 2' | over 7 years ago, by Rohan Fisher | Download |
This model does not have any ancestors.
This model does not have any descendants.