This is an implementation of the radiation model proposed in a paper by Simini et al. (2012).

od_radiation(p, pop_var = "population", proportion = 1)

Arguments

p

A SpatialPoints dataframe, the first column of which contains a unique ID

pop_var

A character string representing the variable that corresponds to the population of the zone or point

proportion

A number representing the proportion of the population who commute (1, the default, means 100 percent of the population commute to work)

References

Simini, F., Gonzalez, M.C., Maritan, A., Barabasi, A.L., 2012. A universal model for mobility and migration patterns. Nature. doi:10.1038/nature10856

Examples

# load some points data data(cents) # plot the points to check they make sense plot(cents)
class(cents)
#> [1] "SpatialPointsDataFrame" #> attr(,"package") #> [1] "sp"
# Create test population to model flows set.seed(2050) cents$population <- runif(n = nrow(cents), min = 100, max = 1000) # estimate flowlines_radiation <- od_radiation(cents, pop_var = "population")
#> Transforming to CRS +proj=aeqd +lat_0=53.81056376 +lon_0=-1.52916207 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80680749 +lon_0=-1.53533373 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81696834 +lon_0=-1.54863463 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.8189947 +lon_0=-1.54103979 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81919531 +lon_0=-1.53159824 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81265628 +lon_0=-1.53289014 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81353636 +lon_0=-1.53858754 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80951653 +lon_0=-1.54646278 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81056376 +lon_0=-1.52916207 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80785472 +lon_0=-1.51803303 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81801557 +lon_0=-1.53133393 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82004192 +lon_0=-1.52373908 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82024254 +lon_0=-1.51429754 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81370351 +lon_0=-1.51558944 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81458358 +lon_0=-1.52128684 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81161098 +lon_0=-1.51186137 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80680749 +lon_0=-1.53533373 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80785472 +lon_0=-1.51803303 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.8142593 +lon_0=-1.53750559 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81628566 +lon_0=-1.52991074 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81648627 +lon_0=-1.5204692 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80994724 +lon_0=-1.5217611 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81082732 +lon_0=-1.5274585 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80409845 +lon_0=-1.52420469 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81696834 +lon_0=-1.54863463 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81801557 +lon_0=-1.53133393 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.8142593 +lon_0=-1.53750559 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82644651 +lon_0=-1.54321164 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82664712 +lon_0=-1.5337701 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82010809 +lon_0=-1.535062 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82098817 +lon_0=-1.5407594 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82442015 +lon_0=-1.55080649 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.8189947 +lon_0=-1.54103979 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82004192 +lon_0=-1.52373908 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81628566 +lon_0=-1.52991074 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82644651 +lon_0=-1.54321164 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82867348 +lon_0=-1.52617525 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82213445 +lon_0=-1.52746715 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82301452 +lon_0=-1.53316455 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82847286 +lon_0=-1.5356168 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81919531 +lon_0=-1.53159824 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82024254 +lon_0=-1.51429754 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81648627 +lon_0=-1.5204692 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82664712 +lon_0=-1.5337701 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82867348 +lon_0=-1.52617525 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82233506 +lon_0=-1.51802561 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82321514 +lon_0=-1.52372301 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82887409 +lon_0=-1.51673371 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81265628 +lon_0=-1.53289014 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81370351 +lon_0=-1.51558944 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.80994724 +lon_0=-1.5217611 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82010809 +lon_0=-1.535062 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82213445 +lon_0=-1.52746715 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82233506 +lon_0=-1.51802561 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81667611 +lon_0=-1.52501491 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81579603 +lon_0=-1.51931751 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81353636 +lon_0=-1.53858754 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81458358 +lon_0=-1.52128684 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81082732 +lon_0=-1.5274585 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82098817 +lon_0=-1.5407594 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82301452 +lon_0=-1.53316455 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.82321514 +lon_0=-1.52372301 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81667611 +lon_0=-1.52501491 +x_0=0 +y_0=0 +ellps=WGS84
#> Transforming to CRS +proj=aeqd +lat_0=53.81755618 +lon_0=-1.53071231 +x_0=0 +y_0=0 +ellps=WGS84
flowlines_radiation$flow
#> [1] NA 28.5716171 199.1483930 45.6047446 7.5864754 21.5568487 #> [7] 41.2170441 105.2684494 24.7449354 NA 118.5268678 10.1879935 #> [13] 4.3086722 57.4515754 259.3003676 15.9131245 44.3764656 293.7173517 #> [19] NA 9.8773421 7.1271190 35.3137167 81.5452128 15.4279029 #> [25] 85.4088485 5.9374332 8.8651941 NA 84.9504273 35.9825242 #> [31] 26.8695174 53.6173692 1.8104829 1.2293437 0.7982433 84.9504273 #> [37] NA 19.6809596 2.7914752 1.2033517 27.3885572 106.4446453 #> [43] 44.4324793 34.6086394 100.2158728 NA 220.5555702 36.7618461 #> [49] 13.8249960 259.3003676 59.2543662 6.1879080 3.8213690 34.8945124 #> [55] NA 22.4008006 10.4091206 4.4967751 1.7164989 1.3797507 #> [61] 4.7760711 2.0211245 102.2283795 NA
sum(flowlines_radiation$flow, na.rm = TRUE) # the total flow in the system
#> [1] 2937.987
sum(cents$population) # the total inter-zonal flow
#> [1] 3450.191
plot(flowlines_radiation, lwd = flowlines_radiation$flow / 100)
points(cents, cex = cents$population / 100)