Hi, Your example is so close to being reproducible, but not quite close enough. After some noodling around I figured out that you are using geosphere package in addition to leaflet, and that your tibble is assigned to the `ByRoute` variable. The following gets you closer - you'll want to resolve the warning messages ...
Warning messages: 1: In .pointsToMatrix(p2) :longitude > 180 2: In .pointsToMatrix(p2) :longitude > 180 3: In .pointsToMatrix(p2) : longitude > 180 ... which you can fix in your tibble. When adding layers to a map, you really want to create a map object, store it in a variable, say 'm', and ad each layer in an iteration enclosing the pipes (rather than within the pipes). I'm sure that there will be some wrapping issues if you copy-and-paste from this email. (Also, please put a bit more white space in your code. They are calorie-free and make life so much easier on us old fellows.) Cheers, Ben library(leaflet) library(geosphere) ByRoute = 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" )) # create the map object m <- leaflet() %>% addTiles() # iteratively add each polyline commence-to-load and load-to-destination for(i in 1:6){ m <- m %>% addPolylines(data=gcIntermediate(c(ByRoute$CLon[i], ByRoute$CLat[i]), c(ByRoute$LLon[i], ByRoute$CLat[i]), n=100, addStartEnd = TRUE, sp = TRUE)) %>% addPolylines(data=gcIntermediate(c(ByRoute$LLon[i], ByRoute$LLat[i]), c(ByRoute$DLon[i], ByRoute$DLat[i]), n=100, addStartEnd = TRUE, sp = TRUE)) } m > On Sep 2, 2018, at 10:34 PM, Dhiraj Khanna <dhirajkha...@gmail.com> wrote: > > 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]] > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > Ben Tupper Bigelow Laboratory for Ocean Sciences 60 Bigelow Drive, P.O. Box 380 East Boothbay, Maine 04544 http://www.bigelow.org Ecological Forecasting: https://eco.bigelow.org/ _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo