[R-sig-Geo] Adding great circle routes as polylines in Leaflet

Dhiraj Khanna dhir@jkh@nn@ @ending from gm@il@com
Mon Sep 3 04:34:48 CEST 2018


I am trying to add great circle routes between various regions in R. Here’s
the sample data:

structure(list(CommencingRegion = c("RedSea", "EastAfrica", "GulfofMexico",
"FarEast", "RedSea", "GulfofMexico"), LoadRegion = c("RedSea",
"RedSea", "GulfofMexico", "FarEast", "RedSea", "GulfofMexico"
), DischargeRegion = c("NorthWestAfrica", "WestMedditerranean",
"WestCoastLatinAmerica", "AustraliaNewZealand", "WestMedditerranean",
"WestCoastCentralAmerica"), Count = c(1L, 1L, 2L, 1L, 2L, 5L),
    AvgTCE = c(38879.53, 31783.55, 28520.79, 26068.8, 26054.28,
    25883.81), CLon = c(37.8274879335485, 47.0791103099334, -90.9633701509553,
    146.2727573458, 37.8274879335485, -90.9633701509553), CLat =
c(21.4460561443517,
    -12.9570828789565, 25.2035802054683, 47.6530892619773, 21.4460561443517,
    25.2035802054683), LLon = c(37.8274879335485, 37.8274879335485,
    -90.9633701509553, 146.2727573458, 37.8274879335485, -90.9633701509553
    ), LLat = c(21.4460561443517, 21.4460561443517, 25.2035802054683,
    47.6530892619773, 21.4460561443517, 25.2035802054683), DLon =
c(-17.1597117430475,
    7.03639948506481, -73.4238157230412, 151.051220297802, 7.03639948506481,
    255.83509305644), DLat = c(24.2308740597312, 38.8907379374372,
    -25.8934046406896, -25.1880219406131, 38.8907379374372, 21.8130318388702
    )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
))

I would like to plot great circle routes between CommencingRegion to
LoadingRegion and then from LoadingRegion to DischargeRegion for every row.
Additionally, every row needs to be in a different color and the thickness
needs to be proportional to AvgTCE. The last 6 variables in the data above
are the coordinates in Lat Long for the commencing, loading and discharging
regions respectively. I am quite clueless on how to go about achieving
this. This is what I have tried and failed:

leaflet() %>%
  addTiles() %>%
  for(i in 1:6){
    addPolylines(data=gcIntermediate(c(ByRoute$CLon[i],ByRoute$CLat[i]),c(ByRoute$LLon[i],ByRoute$CLat[i]),n=100,addStartEnd
= T,sp=T))
  }

Regards
Dhiraj Khanna
Mob:09873263331

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list