Step 1: Required packages
library(curl)
library(jsonlite)
library(rgdal)
library(plyr)
Step 2: Load data
ramphs <-read.csv(curl("https://gist.githubusercontent.com/sfsheath/5c5987269e8aad412416/raw/a12dda2b8a681f1ab01421f68ac237ab591ff0f9/roman-amphitheaters.csv"))
periods <- fromJSON("https://gist.githubusercontent.com/sfsheath/cc082cc6db3ac8343e3a/raw/6e938ed37b9083f393a67bec10b46ba7fc693661/amphitheater-chronogrps.json")
Step 3: Join data
ramphs.sp <- ramphs
join(ramphs.sp, periods, by= "chronogrp") -> ramphs.joined
coordinates(ramphs.joined) <- ~longitude + latitude
Step 4: Replace “Imperial” date AD50 with random numbers
ramphs.noise <- ramphs.joined
ramphs.noise$start_date[ramphs.noise$chronogrp=="Imperial"] <- runif(106, min=50, max=125)
round(ramphs.noise$start_date, digits=0) -> ramphs.noise$start_date
Step 5: Write JSON
ramphs.noise[c("label", "start_date", "end_date")] -> ramphs.noise.date
writeOGR(ramphs.noise.date, "noiseramphs3", layer="test", driver="GeoJSON")