Domanda

Sto cercando di usare WRLD_SIMPL dal pacchetto MapTools per tracciare un pezzo di mappa del mondo con una griglia di longitudine / latitudine.

Ad esempio, ho un file netcdf con longitudine e latitudine, creo una matrice con tutti i punti che posso avere sulla griglia:

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

Ora voglio tracciare i paesi le cui coordinate sono sulla mia griglia.

Non so come fare con WRLD_SIMPL Attributi!

È stato utile?

Soluzione

Hai guardato maps mapproject Packages?È possibile disegnare qualsiasi linea costiera molto rapidamente con la risoluzione desiderata e viene fornita con proiezioni e griglia.È possibile applicare proiezioni a uno dei tuoi oggetti (expand.grid(long,lat)).Esempio in Antartica:

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 hai già tracciato la matrice NCDF, è sufficiente aggiungere map(add=TRUE).Leggerà i limiti X e Y e disegnerà i confini in quest'area.

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)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top