Я пытаюсь создать линии на карте с Leaflet
между точками широты/долготы. Вот входная выборка данных:R Карта листов - Draw Line для каждой строки dataframe
segment_id latitude1 longitude1 latitude2 longitude2 len
1 1 48.15387 17.07388 48.15396 17.07387 10.98065
2 1 48.15396 17.07387 48.15404 17.07377 11.31327
3 1 48.15404 17.07377 48.15410 17.07364 11.74550
4 1 48.15410 17.07364 48.15412 17.07349 11.48138
5 1 48.15412 17.07349 48.15412 17.07334 11.63625
6 2 48.15424 17.07307 48.15432 17.07299 10.79304
В результате этого должно быть 6 строк lat1,lng1
->lat2,lng2
. Мне трудно работать с addPolylines
, это создает дополнительные нежелательные линии, и я не знаю, почему.
Вот как это должно выглядеть, без дополнительных линий уложенных друг на друга: D
Вот мой код до сих пор, но это фигня:
drawEdges <- function(x) {
d <- cbind(x$latitude1,x$latitude2)
s <- rep(1:nrow(x), each = 2) + (0:1) * nrow(x)
latitudeOut <- d[s]
e <- cbind(x$longitude1,x$longitude2)
t <- rep(1:nrow(x), each = 2) + (0:1) * nrow(x)
longitudeOut <- e[t]
mymap <<- addPolylines(map = mymap,data = x, lng = ~longitudeOut, lat = ~latitudeOut)
}
if (!is.null(edges)){
segments <- split(edges , f = edges$segment_id)
segments
sapply(segments, drawEdges)
}
Спасибо вы за помощь
взглянуть на пакете зре. Он работал для меня раньше. Если вы можете поделиться набором данных, я могу написать код –
возможный дубликат с http://stackoverflow.com/questions/32275213/how-do-i-connect-two-coordinates-with-a-line-using-leaflet -in-r – MLavoie
@ Dinesh.hmn Я разместил пример набора данных – ayshelina