library(maps) library(geosphere) xlim <- c(-164, 20) ylim <- c(12, 71) airports <- read.csv("http://web.me.com/bradthiessen/airports2.csv", header=TRUE) flights <- read.csv("http://web.me.com/bradthiessen/flights.csv", header=TRUE, as.is=TRUE) pal <- colorRampPalette(c("#6588A4", "#44596C")) colors <- pal(100) map("world", col="#DCDCDD", fill=TRUE, bg="white", lwd=0.05, xlim=xlim, ylim=ylim) fsub <- flights[flights$airline == "AA",] fsub <- fsub[order(fsub$cnt),] maxcnt <- max(fsub$cnt) for (j in 1:length(fsub$airline)) { air1 <- airports[airports$iata == fsub[j,]$airport1,] air2 <- airports[airports$iata == fsub[j,]$airport2,] inter <- gcIntermediate(c(air1[1,]$long, air1[1,]$lat), c(air2[1,]$long, air2[1,]$lat), n=100, addStartEnd=TRUE) colindex <- round( (fsub[j,]$cnt / maxcnt) * length(colors) ) lines(inter, col=colors[colindex], lwd=1.0) }