This repository contains all the data and scripts required to fully reproduce all analyses presented in the paper "Generative inference model reveals motivations for road construction in past societies" authored by Lewis, J and Crema, E.R.
- Open project using Roman_roadways_structure.Rproj to ensure relative paths work.
- Run the 00_Main.R R script in the R folder to reproduce the analysis
- 01_tactical_sim.R generates 62 simulated routes with known parameter values
- 02_ABC_tactical_sim.R fits the Bayesian hierarchical movement model to the 62 simulated routes
- 03_analyse_ABC_tactical_sim.R produces summary tables and figures for the tactical simulation
- 04_ABC_RR_known.R fits the Bayesian hierarchical movement model to the 62 known Roman roads in Wales
- 05_analyse_ABC_RR_known.R produces summary tables and figures for the Roman roads in Wales study
- 06_b_sinuosity_calculation.R calculate sinuosity of simulated Roman roads and relate this to the influence of slope gradient (parameter b). Produce figures for the unified framework
- 07_b_critical_gradient_slope.R produces plot to show relationship between parameter b and critical slope gradient
Data
- DEM
- OS_50m_Wales.tif - Ordnance Survey 50 metres Digital Elevation Model of Wales
- extent
- roman_empire_ad_117.gpkg - Extent of the Roman empire.
- RR_known.gpkg - 62 Known Roman roads digitised from 'Roman frontiers in Wales and the Marches’
Output
- tactical_simuation
- simulated_routes - simulated routes produced via 01_tactical_sim.R
- simulated_routes_abc - fitted least-cost paths to the 62 simulated routes using the Bayesian hierarchical movement model
- simulated_routes_sf - 15,500 least-cost paths based on the estimated posterior b value for each simulated road (250 accepted parameter values * 62 = 15,500); 62 least-cost paths based on the estimated median posterior b value for each simulated road
- simulated_roads - fitted least-cost paths to the 62 known Roman roadways using the Bayesian hierarchical movement model
- tables
- simulated_roads
- road_sims_posterior_summary_1.csv - estimated b parameter for the 62 Roman roads
- road_sims_posterior_summary_2.csv - estimated b bar parameter for the population-level of the 62 Roman roads
- road_sims_posterior_summary_3.csv - Path Deviation Index for the 62 Roman roads
- tactical_simulation
- road_sims_posterior_summary_1.csv - estimated b parameter for the 62 simulated routes (tactical simulation)
- sim_routes_abc_posterior_summary2.csv - estimated b bar parameter for population-level for the 62 simulated routes (tactical simulation)
- b_from_critical_slope - estimated b value for theoretical limits when using wheeled vehicles
- roadway_system
- road_sims_posterior.gpkg - 15,500 least-cost paths based on the estimated posterior b value for each Roman roadway in Wales (250 accepted parameter values * 62 = 15,500)
- road_sims_posterior_median.gpkg - 62 least-cost paths based on the estimated median posterior b value for each Roman roadway in Wales
- figures
Analysis
Please note that running the Bayesian hierarchical movement model via 02_ABC_tactical_sim.R or 04_ABC_RR_known.R has a long processing time and high memory requirements. The calculation of 250,000 least-cost paths for each of the 62 simulated routes / known Roman roadways (15,500,000 least-cost paths in total) takes approximately 4 days to complete when using 85 cores and ~50GB memory.
For testing purposes, the processing time and memory requirements can be reduced by changing the parameters in 00_Main.R
- nsims - total number of simulated per Roman road
- no_post_rows - Total number of accepted parameter to create the posterior distribution
Note that nsims value should be greater than the no_post_rows value
CC-BY 3.0 unless otherwise stated (see Licenses.md)