簡體   English   中英

R重采樣光柵行為不一致

[英]R Resample Raster Behaving Inconsistently

我有兩個具有不同范圍和分辨率的netCDF文件。 我想從兩個具有相同范圍和分辨率的文件中創建柵格。 我想要一個文件的分辨率,而另一個文件的范圍。

這是我正在使用的代碼:

require(raster);

#Get information
iceMaxNineK <- raster("~/Desktop/TRACE-21k_Data/NineK.ICEFRAC.max.avg.nc")

saltNineK <- brick("~/Desktop/TRACE-21k_Data/NineK.SALT.nc", lvar = 4)

#Making everything nice and uniform and useable
#==============================================
#set up an initial "sampling raster"
e <- extent(0, 360, -90, 90) #xmin,xmax,ymin,ymax
e <- raster(e,nrows=1,ncols=1,crs=saltNineK@crs)
res(e) <- res(saltNineK)
values(e) <- 0

#Resample ice
iceMaxNineK <- resample(iceMaxNineK, e, method="ngb")
plot(iceMaxNineK)

#Resample salt
saltNineK <- resample(saltNineK, e, method="ngb")
plot(saltNineK)

重采樣iceMaxNineK可以,但是重采樣saltNineK會導致地圖被卡在已定義范圍的一個角落,如下圖所示。

首先,iceMaxNineK: iceMaxNineK圖

二,saltNineK: saltNineK圖

重新采樣之前iceMaxNineK的尺寸:

class       : RasterLayer 
dimensions  : 48, 96, 4608  (nrow, ncol, ncell)
resolution  : 3.75, 3.708898  (x, y)
extent      : -1.875, 358.125, -89.01354, 89.01354  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : /Users/Hannah/Desktop/TRACE-21k_Data/NineK.ICEFRAC.max.avg.nc 
names       : Fraction.of.sfc.area.covered.by.sea.ice 
z-value     : -8.99945876078469 
zvar        : ICEFRAC 

重新采樣后iceMaxNineK的尺寸:

class       : RasterLayer 
dimensions  : 180, 360, 64800  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       : Fraction.of.sfc.area.covered.by.sea.ice 
values      : 0, 0.9997393  (min, max)

重新采樣之前saltNineK的尺寸:

class       : RasterBrick 
dimensions  : 116, 100, 11600, 25  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0.5, 100.5, 0.5, 116.5  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : /Users/Hannah/Desktop/TRACE-21k_Data/NineK.SALT.nc 
names       : X400, X1222.02453613281, X2108.88061523438, X3100.537109375, X4239.19677734375, X5577.873046875, X7187.42822265625, X9166.115234375, X11653.9140625, X14854.84765625, X19072.095703125, X24762.70703125, X32618.9296875, X43673.65625, X59384.83984375, ... 
centimeters : 400, 475128.78125 (min, max)
varname     : SALT 
level       : 1 

重新采樣后saltNineK的尺寸:

class       : RasterBrick 
dimensions  : 180, 360, 64800, 25  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       :      X400, X1222.02453613281, X2108.88061523438, X3100.537109375, X4239.19677734375, X5577.873046875, X7187.42822265625, X9166.115234375, X11653.9140625, X14854.84765625, X19072.095703125, X24762.70703125, X32618.9296875, X43673.65625, X59384.83984375, ... 
min values  :  6.842899,          6.850603,          6.853004,        6.853779,          6.853567,       23.148109,         23.148115,       23.148115,      23.148119,       23.148121,        23.148121,       23.148121,      23.148121,    23.148121,       23.148121, ... 
max values  :  39.60786,          39.60786,          39.60783,        39.60777,          39.60769,        39.60766,          39.60765,        39.60757,       39.60755,        39.60742,         39.60739,        39.60732,       39.60730,     39.60730,        39.60730, ... 

可以通過以下鏈接訪問示例文件: https : //www.dropbox.com/s/x8oqem317vmr7yq/DataForRResample.zip?dl=0

感謝您的時間。

我現在已經解決了這個問題。 問題在於輸入文件的分辨率為T31_gx3v5( http://www.cgd.ucar.edu/ccr/TraCE/;Yeager等人,2006; Otto-Bliesner等人,2006)。 R對此沒有接受。 在將圖層導入R中之前,需要使用ncl語言將其重新划分為1X1度。有關在ncl中重新柵格化的更多信息,請訪問以下鏈接: https ://www.ncl.ucar.edu/Document/Functions/Pop_remap/PopLatLon .shtml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM