Вопрос

Я пытаюсь использовать Wrld_simpl из пакета MapTools, чтобы построить карту мира с помощью сетки Longude / Latitude.

Например, у меня есть файл 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 с атрибуция
Не связан с StackOverflow
scroll top