2012-04-05 33 views
4

私は米国の地図と、プロットしたいと思われる長い緯度のリストを持っています。一度これを実行すると、私はまた、 "世界"のマップに切り替えるしたいと思います。マップは生成されますが、マップ上にポイントは表示されません。 TSVファイルの最初の行には、次のヘッダーが含まれています。Rは経度と緯度の点をプロットしています

LONG{tab}LAT
Rが「トラフィック」テーブルで読み取り中です。[OK]をクリックします。私は間違って何をしていますか?

 
library("maps") 

traffic = read.table("C:/temp/traffic_10.40.tsv", header=T, sep="\t") 
png(filename="C:/temp/usa.png", width=850, height=600, bg="white") 
map('state', plot = TRUE, fill = FALSE, col = palette()) 
title("Destinations") 
points(x=traffic$LONG,y=traffic$LAT,col='red',cex=0.75) 
dev.off() 

EDIT

 
> dput(traffic) 
structure(list(LONG = c(47.6218, 32.7942, 34.1121, 40.0068, 47.6218, 
33.9553, 33.7629, 40.0068, 39.05, 38.1075, 33.7629, 32.769, 37.3857, 
29.4576, 34.1674, 38.8147, 32.7942, 31.1429, 40.3254, 30.3059, 
38.2248, 47.6218, 33.9553, 38.1075, 27.1943, 29.4576, 30.5175, 
38.5668, 42.6657, 40.2982, 32.7539, 40.6698, 47.6742, 32.7942, 
47.6218, 35.8219), LAT = c(-122.35, -96.7653, -118.411, -75.1347, 
-122.35, -83.3937, -84.4226, -75.1347, -77.4833, -122.264, -84.4226, 
-96.5998, -122.026, -98.5054, -84.8014, -77.0647, -96.7653, -81.471, 
-78.9195, -97.7505, -85.7412, -122.35, -83.3937, -122.264, -80.2432, 
-98.5054, -97.6721, -121.467, -73.799, -111.698, -97.3363, -73.9438, 
-122.115, -96.7653, -122.35, -78.6588)), .Names = c("LONG", "LAT" 
), class = "data.frame", row.names = c(NA, -36L)) 

はまた、私はRの初心者ですと私は正確に検索する内容がわからないので、限られた成功をGoogleでこれを発見しようとしています。

+1

データにアクセスすることができないと言うのは難しいです。 .tsvまたはpngをオンラインで投稿する方法はありますか? –

+0

または...データをオンラインで投稿しますか?最も簡単な方法は 'dput(traffic)'の結果をコピー&ペーストすることです。もし大きなデータセットなら 'dput(traffic [1:10、]' –

+0

あなたのマップはPNGファイルであるようですが、それに関連する地理的座標はありません。あなたが適切な地理参照されたラスタファイルを必要とするか、投影の知識を必要とします。そして、それは面白い投影になるかもしれないし、アラスカがカリフォルニアの海岸からコンパクトに、そしてハワイを湾岸に押し込むこともできます。 PNGの座標 – Spacedman

答えて

7

問題は、後のコードではなくデータセットにあります。

最初のポイントは、1つの座標47.6218ともう1つの-122.35です。 Latitudes[-90,90]の範囲外になることができないため、longitude-122.35で、緯度は47.6218でなければなりません。 This is slightly north of the Seattle Space needle

x(横)は、経度または東経が伝統的です。 y(縦)は伝統的に緯度または北緯です

+0

ありがとうございます。意味あり。私は自分のコードを調整し(正しい方法)、それは素晴らしい実行している! – jftuga

1

1つのオプションは、googleVisを使用することです。あなたはポイントGoogleマップのスタイルをプロットすることができます。

+0

PNGに出力する必要があるため、これが役に立たないと思います。 – jftuga

1

固定。私は$ LATと$ LONGを入れ替えました。今は完璧に動作します。

 
points(x=traffic$LAT,y=traffic$LONG,col='red',cex=0.75) 
関連する問題