На основании AdresT (спасибо!) Ссылки, приведенной выше, я мог бы ответить на свой собственный вопрос , за исключением того, что мыслительность линии пропорциональна количеству писем
Вот код:Я использовал случайные данные без поиска точной долготы и широты для каждого местоположения.
library(maps)
library(geosphere)
map("world", col = "green4", bg="#F5FFFA", lwd=0.05)
myposition <- c(-74, 40) # my position (where I am opening emails)
rlong <- c(75, 105, 135, - 10.2, 45.2, -30.4, 105, 35, -150,
10.2, 145.2, 30.4) # received lat
rlat <- c(30, 43, 23, 12, 68, 55.6, 30, 43, 23, 12, 68, 55.6) # received long
nrecived <- c(4, 10, 5, 2, 4, 10, 4, 10, 5, 2, 4, 10 ) # number of email received
slong <- c(85, 85, 55, -40.2, 45.2, -30.4,45, 95, 55, 40.2, 55.2, 60.4 ) # send lat
slat <- c(10, 43, 13, 12, 68, 55.6,10, 43, 13, 12, 68, 55.6 ) # send long
nsend <- c(4, 10, 5, 2, 4, 10, 4, 10, 5, 2, 4, 10 ) # number of email send
mydf <- data.frame (rlat, rlong, nrecived, slat, slong, nsend)
for (i in 1: length (mydf) ) {
send <- gcIntermediate(c(mydf[i,]$slong, mydf[i,]$slat), c(-74, 40),
n=100, addStartEnd=TRUE)
lines (send, col = "blue", lwd = mydf[i, "nsend"]) # edited
following suggestion
received <- gcIntermediate(c(mydf[i,]$rlong, mydf[i,]$rlat), c(-74, 40),
n=100, addStartEnd=TRUE)
lines (received , col = "red", lwd = mydf[i, "nrecived"])
}
Карта вывода:
Если кто-то может помочь, толщина линии, пропорциональная количеству писем, будет отличной!
После исправления следующего предложения по размеру строки от Романа Луштрика,
Возможно, потребуется изменить размер строки на широкую, чтобы уменьшить ее число!