Service access model 2

Service access model 2 preview image

1 collaborator

Default-person Rohan Fisher (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.2.1 • Viewed 204 times • Downloaded 18 times • Run 0 times
Download the 'Service access model 2' modelDownload this modelEmbed this model

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.

CC BY-NC-SA 3.0

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

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

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 almost 7 years ago by Rohan Fisher.

Attached files

File Type Description Last updated
Fisher_Lassa_2017_Interactive, open source, travel time senario modelling.pdf pdf Journal article providing background to this work and describing the model. almost 7 years ago, by Rohan Fisher Download
Model-2.zip data Nlogo and all data files to run the model. almost 7 years ago, by Rohan Fisher Download
Service access model 2.png preview Preview for 'Service access model 2' almost 7 years ago, by Rohan Fisher Download

This model does not have any ancestors.

This model does not have any descendants.