Пакет карт R - как рисовать линии между странами? - PullRequest
6 голосов
/ 10 декабря 2011

В R, используя пакет maps и функцию gcIntermediate, как нарисовать линии между двумя странами?Для этого нужен длинный лат, но я не уверен, какой длинный лат я должен дать странам (скажем, я хочу провести границу между США и Швецией)

1 Ответ

8 голосов
/ 10 декабря 2011

Есть несколько карт, которые вы можете использовать, в зависимости от того, какая информация / детали / и т.д. вам нужно, но для этого очень хорошо wrld_simpl отлично подойдет:

library(maptools)
library(geosphere)

data(wrld_simpl)

US_lat = wrld_simpl$LAT[wrld_simpl$NAME == 'United States']
US_lon = wrld_simpl$LON[wrld_simpl$NAME == 'United States']

SWE_lat = wrld_simpl$LAT[wrld_simpl$NAME == 'Sweden']
SWE_lon = wrld_simpl$LON[wrld_simpl$NAME == 'Sweden']

points = gcIntermediate(c(US_lon, US_lat), c(SWE_lon, SWE_lat), 100)

dev.new(width=6, height=4)
plot(wrld_simpl)
lines(points, col='red')

enter image description here

...