光栅堆栈不正确的绘制纬度和经度坐标

Raster stack incorrecting plotting latitude and longitude coordinates

我已经从 TRMM(热带地区的降雨量)卫星下载降水数据作为 netCDF 文件,并一直在尝试将 R 中的数据绘制为栅格堆栈。但是,R 坚持错误地绘制纬度和经度轴,例如经度绘制在 x 轴上(应该如此)但使用纬度坐标,而纬度在 y 轴上但使用经度坐标。我试过同时使用 plot()levelplot() 函数,但似乎都不起作用。谁能帮我纠正这个?

这些是堆栈的特征:

class       : RasterStack 
dimensions  : 1440, 186, 267840, 12  (nrow, ncol, ncell, nlayers)
resolution  : 0.25, 0.25  (x, y)
extent      : -23.25, 23.25, -180, 180  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
names       : X2016.01.16, X2016.02.15, X2016.03.16, X2016.04.15, X2016.05.16, X2016.06.15, X2016.07.16, X2016.08.16, X2016.09.15, X2016.10.16, X2016.11.15, X2016.12.16 
Date        : 2016-01-16, 2016-02-15, 2016-03-16, 2016-04-15, 2016-05-16, 2016-06-15, 2016-07-16, 2016-08-16, 2016-09-15, 2016-10-16, 2016-11-15, 2016-12-16

在下图中您可以看到当前的输出。它应该显示热带地区从 -23 到 23 度纬度和 -180 到 180 度经度的降雨量。

如果在任何处理之前切换坐标,这很奇怪。也许您想评估下载数据的来源,以及是否有更好的来源。

无论如何,(与此同时)raster 包可以为您提供帮助.. 特别是转置 t() 功能。这是一个例子:

# data before transpose
x <- getData('worldclim',var='tmean',res=10)
plot(x)

# data after transpose
y <- t(x)
plot(y)

raster 中还有一些您可能感兴趣的其他函数:fliprotate

HTH

感谢您的回复。开箱即用时坐标就乱七八糟,这看起来确实很奇怪,我确实尝试下载一组新数据,但也出现了同样的问题。但是,感谢您的输入,我能够通过使用 transpose() 和 flip() 函数来纠正问题。我不得不转置数据,然后沿着 x 和 y 维度翻转它,因为图像是 'mirrored'。这是我在其他人遇到 TRMM 数据集问题时使用的代码:

a.t = t(test.rasterstack) a.flipy = flip(a.t, direction = 2) a.t.flipxy = flip(a.t.flipy, direction = 1) levelplot(a.t.flipxy)