2017-06-12 85 views
1

我已经从TRMM(热带降雨)卫星下载了降水数据作为netCDF文件,并且一直试图在R中绘制数据作为rasterstack。然而,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度经度的热带降雨量。

回答

0

如果坐标到任何处理之前切换很奇怪。也许你想评估下载数据的来源,如果还有更好的数据。

反正,(在此期间)raster包可以帮助你..特别是转置t()函数。这里有一个例子:

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

Normal

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

Transposed

也有raster几个其他的功能可能会感兴趣的你:fliprotate

HTH

0

感谢您的回复。看起来奇怪的是,坐标出现了问题,我尝试下载一组新的数据,并发生同样的问题。但是,由于您的输入,我可以通过使用transpose()和flip()函数来纠正问题。我不得不调换数据,然后沿着x和y方向翻转它,因为图像是“镜像”的。这里是我的情况下,其他人使用的代码遇到此问题与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)

+0

这些数据集旋转“设计”。另见这里:https://gis.stackexchange.com/questions/170137/converting-binary-trmm-to-geotiff-using-r/170173#170173 – lbusett

+0

谢谢@LoBu,这是超级有用的,我想我会用未来的Rsenal软件包 – cbur