2016-11-10 6 views
1

カナダのニューファンドランドにある港(コンセプションベイサウス)を地図にしようとしていますが、本島(ベル島)はありません。私はそれを修正する方法を理解するために数日間試してきました。Rで地図を作成する:見つからない島はありますか?

world.citiesを追加すると、その島にある都市が表示されますが、島自体は表示されません。

地図には川の層と湖の層があり、必要に応じて追加することができますが、島の層はありますか?あるいは、データを他の方法で入手しなければならないのですか?もしそうなら、どうすればいいのですか?

私はこれをggplotまたはggmapにプロットする必要はありません。なぜなら、欠落している島の「マップ」を除いてすべてが完全に動作しているからです。しかし、別の解決策がなければ、明らかにそうするでしょう。ここで

は私のコードです:

require(maps) 
require(mapdata) 
map('worldHires','Canada', 
      xlim=c(-53.5, -52.500), 
      ylim=c(47.2,48.25), 
      col="grey75", fill=TRUE) 
map.axes(cex.axis=0.8) 
map.scale(-53.41,47.29, 
      ratio=FALSE, 
      relwidth=0.1, 
      cex=0.5) 
+0

など基本Rグラフィックプロットであるので、色を変更し、上に物を置くために基本プロット関数を使用して、軸data/gadm2.8/rds/CAN_adm3.rds(http://blog.revolutionanalytics.com/2009/10/geographic-maps-in-r.html(http://gadm.org/countryを参照))しかし、私の空間 - データ - フーはその仕事までではありません。 –

答えて

4

はカナダのためのレベル2の管理データを取得するために、ラスタパッケージを使用します。

require(raster) 
cdn = getData("GADM",country="CAN",level=2) 
plot(cdn, xlim=c(-53.5, -52.500), ylim=c(47.2,48.25)) 

は半島の端に湾といくつかのより多くの小さな島を示しています。

これは私がhttp://biogeo.ucdavis.edu/から更新された情報をつかむしようとした

+0

パーフェクト!私は方法があることを知っていた。それは直感的に分かりませんでした:) – hpenney112

+0

実際には、マップパッケージをGADMデータとともに使用することもできます。map(cdn、xlim = c(-53.5、-52.500)、ylim = c(47.2,48.25)、namefield = "NAME_2")も動作します(バージョン> = 3.1.0をマップすると提供されます)。 –

1

はい、島が欠落しているように見えます。解決策はggmapdplyrを使用することです。

library(dplyr) 
library(ggmap) 
get_googlemap(center = "Conception Bay South", zoom = 10) %>% ggmap() 

私はまた、あなたが.shpのファイルを持っている場合は、あなたの代わりにggmapのものを使用することができることを、指摘しなければなりません。

+6

単一パイプ操作のためにすべてのdplyrを取り込む必要がありますか? 'g < - get_googlemap(...); ggmap(g) '? –

+0

Googleマップベースマップを使用する際の問題は、科学雑誌の出版品質ではないということです。私が研究している論文の方法の一部として、調査サイトを地図上にプロットしています(私はそのコードを含まないため、質問には重要ではありません)。 私はggmapsで多くのことをしました。私は衛星ビューのタイプマップを取り除くことができると思いますか? – hpenney112

+1

@ hpenney112、私はこれを何年もやっていませんが、Rはシェイプファイルを読むことができます。あなたはそのオプションを探検しましたか? – Jon

関連する問題