R-海岸线在地图中未正确拟合

时间:2019-02-25 02:26:40

标签: r plot maps raster

我有这个data set,它是GPCC 1x1沉淀数据:为了绘制出来,我这样做:

library(RNetCDF)
library(raster)
library(pracma)
library(rasterVis)
library(colorRamps)
library(rgdal)


file <- open.nc("C:/Users/Ann/Downloads/precipitacion_mensual.nc")
var <- var.get.nc(file,"precip")
ro <- var[ , ,80]

ro_2 <- pracma::circshift(ro, c(180,2))

A <- raster(t(ro_2))

extent(A) <- c(-180, 180, -90, 90)

mex <- getData("GADM", country="MEX", level=0)

B <- crop(A,mex)
plot(B,main="Tit", xlab = "lon", ylab ="lat",col=matlab.like(n = 10),zlim = c(0, 500))

plot(mex, add =TRUE)

但是当我绘制它时,它会像这样enter image description here 如您所见,海岸线在地图上没有正确重叠。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

事实证明问题出在我认为的circshift函数中,通过搅动circshift(variable,c(180,2)),它将沿第二维进行180度的圆弧移动。 但是,这样做是将第一维偏移180度,将第二维偏移2度。 我只需要放circshift(var, c(179.5,0.5)),地图就完美了。