Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 光栅叠加不校正标绘经纬度坐标_R_Coordinates_R Raster - Fatal编程技术网

R 光栅叠加不校正标绘经纬度坐标

R 光栅叠加不校正标绘经纬度坐标,r,coordinates,r-raster,R,Coordinates,R Raster,我已经从TRMM(热带降雨)卫星下载了降水数据,作为一个netCDF文件,并一直试图将数据以光栅堆栈的形式绘制在R中。但是,R坚持错误地绘制纬度和经度轴,例如,经度绘制在x轴上(应该是这样),但使用纬度坐标,而纬度绘制在y轴上,但使用经度坐标。我尝试过使用plot()和levelplot()函数,但两个函数都不起作用。有人能帮我纠正这个吗 这些是堆栈的特征: class : RasterStack dimensions : 1440, 186, 267840, 12 (nrow

我已经从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度经度的热带地区的降雨量


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

无论如何,(同时)光栅
软件包可以为您提供帮助。。特别是转置
t()
函数。下面是一个例子:

# data before transpose
x <- getData('worldclim',var='tmean',res=10)
plot(x)
#转置前的数据

感谢您的回复。这看起来很奇怪,坐标是乱七八糟的,我确实尝试下载了一组新的数据,同样的问题也发生了。但是,由于您的输入,我能够通过使用transpose()和flip()函数纠正这个问题。我必须转换数据,然后在图像“镜像”时沿x和y维度翻转数据。以下是我在其他人遇到TRMM数据集问题时使用的代码:

a.t=t(测试光栅堆栈)
a、 翻转=翻转(a.t,方向=2)
a、 t.flipxy=flip(a.t.flipy,方向=1)

levelplot(a.t.flipxy)

这些数据集“按设计”旋转。这里也可以看到:谢谢@LoBu,这非常有帮助,我想我将来会使用Rsenal包
# data after transpose
y <- t(x)
plot(y)