Pregunta

Estoy intentando utilizar wrld_simpl del paquete maptools para trazar un trozo de mapa mundial con una cuadrícula de longitud/latitud.

Por ejemplo, tengo un archivo netCDF con longitud y latitud, creo una matriz con todos los puntos que puedo tener en la grilla:

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

Ahora quiero trazar los países cuyas coordenadas están en mi cuadrícula.

¡No sé cómo hacerlo con los atributos wrld_simpl!

¿Fue útil?

Solución

¿Miraste? maps mapproject paquetes?Puedes dibujar cualquier línea de costa muy rápidamente con la resolución deseada y viene con proyecciones y cuadrícula.Puede aplicar proyecciones a uno de sus objetos (expand.grid(long,lat)).Ejemplo en la 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)

Si ya ha trazado la matriz ncdf, simplemente puede agregar map(add=TRUE).Leerá los límites xey y dibujará los bordes en esta á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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top