Question

J'essaie d'utiliser wrld_simpl du package maptools afin de tracer un morceau de carte du monde avec une grille longitude/latitude.

Par exemple, j'ai un fichier netCDF avec longitude et latitude, je crée une matrice avec tous les points que je peux avoir sur la grille :

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

Maintenant, je veux tracer les pays dont les coordonnées sont sur ma grille.

Je ne sais pas comment faire avec les attributs wrld_simpl !

Était-ce utile?

La solution

As-tu regardé maps mapproject paquets ?Vous pouvez dessiner n'importe quelle ligne de côte très rapidement avec la résolution souhaitée et il est livré avec des projections et une grille.Vous pouvez appliquer des projections à l'un de vos objets (expand.grid(long,lat)).Exemple en Antarctique :

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 vous avez déjà tracé la matrice ncdf, vous pouvez simplement ajouter map(add=TRUE).Il lira les limites x et y et tracera les frontières dans cette zone.

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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top