листовка R объединяет маркеры и геодезические линии (координаты соединены попарно) - PullRequest
1 голос
/ 20 марта 2019

Вот мои данные:

     InitialLat InitialLong  NewLat   NewLong
      62.46972    6.187194 51.4749 -0.221619
      48.09750   16.310800 51.4882 -0.302621

Я могу связать свои координаты попарно в листовке с библиотекой геосферы
(согласно Как связать две координаты с линией, используя Leafletв R )

library(leaflet)
library(geosphere)

  mydf <- data.frame(InitialLat = c(62.469722,48.0975), # initial df
           InitialLong = c(6.187194, 16.3108),
           NewLat = c(51.4749, 51.4882),
           NewLong = c(-0.221619, -0.302621))

  p1 <- as.matrix(mydf[,c(2,1)]) # it's important to list lng before lat here
  p2 <- as.matrix(mydf[,c(4,3)]) # and here

  gcIntermediate(p1, p2,  
       n=100, 
       addStartEnd=TRUE,
       sp=TRUE) %>% 
 leaflet() %>% 
 addTiles() %>% 
 addPolylines()

Как я могу добавить маркеры?

Я попытался безуспешно:

library(tidyr)    
markers <- mydf %>%
          select(1, 2)

lines <- gcIntermediate (p1, p2,  
             n=100, 
             addStartEnd=TRUE,
             sp=TRUE) 

  leaflet() %>%
  addTiles() %>%
  addPolylines(lines) %>%
  addMarkers(markers, lat =~InitialLat, long =~InitialLong)

1 Ответ

1 голос
/ 20 марта 2019

Вы должны указать, что ваши аргументы lines и markers являются data параметром:

leaflet() %>%
  addTiles() %>%
  addPolylines(data = lines) %>%
  addMarkers(data=markers,lat =~InitialLat, lng =~InitialLong)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...