簡體   English   中英

用R繪制具有指定網格的世界地圖

[英]Plot a world map with a specified grid with R

我正在嘗試使用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包? 您可以以所需的分辨率非常快速地繪制任何海岸線,並且附帶投影和網格。 您可以將投影應用於一個對象( 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM