指定されたグリッドで世界地図をRでプロットする
-
26-12-2019 - |
質問
MapToolsパッケージからwrld_simplを使用して、経度/緯度グリッドで世界地図をプロットするために使用しています。
例えば、経度と緯度を持つNetCDFファイルを持っています、私はグリッド上に持つことができるすべてのポイントを持つ行列を作成します:
lat <- get.var.ncdf(nc,"lat")
long <- get.var.ncdf(nc,"lon")
pts <- SpatialPoints(expand.grid(long,lat), CRS(proj4string(wrld_simpl)))
.
今、私は座標が私のグリッド上にある国をプロットしたいです。
wrld_simpl属性との道を知りません!
解決
maps
mapproject
パッケージを見ましたか?希望の解像度で沿岸線を非常に早く描くことができ、予測とグリッドが付属しています。あなたはあなたのオブジェクトの1つ(expand.grid(long,lat)
)に投影を適用することができます。アンチルカの例:
library("mapproj")
m <- map( "world", "Antarctica", plot=FALSE)
map("world", "Antarctica", proj="conic", param=-90, fill=TRUE, col="gray")
map.grid(m, nx=4, ny=6, col="black")
front.lim <- data.frame(x=seq(-180, 180, length.out=1000),
y=rep(-62, 1000))
front.lim <- mapproject(front.lim$x, front.lim$y, projection="conic", parameters=-90)
lines(front.lim$x, front.lim$y, col="red", lwd=2)
.
すでにNCDF行列をプロットしている場合は、map(add=TRUE)
を追加することができます。それはxとyの制限を読み、この領域の境界線を描きます。
plot(c(-10, 45), c(30, 60), type="n", xlab="", ylab="") # image(ncdf)
map(add=TRUE, fill=TRUE, col="gray")
abline(v=seq(-10, 45, 7.5), lty=2)
abline(h=seq(-30, 60, 7.5), lty=2)
. 所属していません StackOverflow