2011-12-10 17 views
6

マップパッケージとgcIntermediate関数を使用してRで、どのように2国間の線を描くのですか?緯度経度が必要ですが、私は国のために何をすべきかわかりません(私はアメリカとスウェーデンの間に線を描きたいと思っています)R地図パッケージ - 国間の線を引く方法は?

答えて

8

情報に応じて複数のマップがあります/詳細/ etc。あなたが必要とするが、このために非常に素晴らしい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

+0

ナイス!私は多くの国からブラジルへのラインでそれをやっています。約120度の東(オーストラリア、ニュージーランド、日本など)の後のいくつかの国では、線は東に行き、ひどくなり、画面の反対側に360度すべて移動し、次に丸い道を続けます。それを解決する方法はありますか? – Rodrigo

関連する問題