Pergunta

Estou tentando usar wrld_simpl do pacote maptools para traçar um pedaço do mapa mundial com uma grade de longitude/latitude.

Por exemplo, tenho um arquivo netCDF com longitude e latitude, crio uma matriz com todos os pontos que posso ter na grade:

lat <- get.var.ncdf(nc,"lat")
long <- get.var.ncdf(nc,"lon")
pts <- SpatialPoints(expand.grid(long,lat), CRS(proj4string(wrld_simpl)))

Agora quero representar graficamente os países cujas coordenadas estão na minha grade.

Não sei como fazer com atributos wrld_simpl!

Foi útil?

Solução

Você olhou maps mapproject pacotes?Você pode desenhar qualquer linha de costa muito rapidamente com a resolução desejada e vem com projeções e grade.Você pode aplicar projeções a um de seus objetos (expand.grid(long,lat)).Exemplo na Antártida:

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)

Se você já traçou a matriz ncdf, você pode simplesmente adicionar map(add=TRUE).Ele lerá os limites xey e desenhará as bordas nesta área.

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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top