1
我正在使用來自NARCCAP的溫度.nc文件。這些數據具有極地立體投影。從最低溫度和最高溫度,我創建了一個符合楓糖漿生產日的矩陣。projectRaster返回所有NA值
我想把這個矩陣變成一個光柵,並把這個光柵投影到一個lon/lat投影。
## This is the metadata for the projection from the .nc file:
# float lat[xc,yc]
# long_name: latitude
# standard_name: latitude
# units: degrees_north
# axis: Y
# float lon[xc,yc]
# long_name: longitude
# standard_name: longitude
# units: degrees_east
# axis: X
# float tasmax[xc,yc,time]
# coordinates: lon lat level
# _FillValue: 1.00000002004088e+20
# original_units: K
# long_name: Maximum Daily Surface Air Temperature
# missing_value: 1.00000002004088e+20
# original_name: T_MAX_GDS5_HTGL
# units: K
# standard_name: air_temperature
# cell_methods: time: maximum (interval: 24 hours)
# grid_mapping: polar_stereographic
# grid_mapping_name: polar_stereographic
# latitude_of_projection_origin: 90
# standard_parallel: 60
# false_easting: 4700000
# false_northing: 8400000
# longitude_of_central_meridian: 263
# straight_vertical_longitude_from_pole: 263
# The production days matrix I've created is called from a saved file:
path.ecp2 <- paste0("E:/all_files/production/narccap/GFDL/Production_Days_SkinnerECP2",
year, ".RData")
file.ecp2 <- get(load(path.ecp2))
dim(file.ecp2)
# 147 116
rast.ecp2 <- raster(file.ecp2)
rast.ecp2 <- flip(t(rast.ecp2), 2)
# class : RasterLayer
# dimensions : 116, 147, 17052 (nrow, ncol, ncell)
# resolution : 0.006802721, 0.00862069 (x, y)
# extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax)
# coord. ref. : NA
# data source : in memory
# names : layer
# values : 0, 671 (min, max)
# I assign the polar stereographic crs to this production days raster:
crs("+init=epsg:3031")
ecp2.proj <- "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=4700000 +y_0=8400000 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
crs(rast.ecp2) <- crs(ecp2.proj)
rast.ecp2
# class : RasterLayer
# dimensions : 116, 147, 17052 (nrow, ncol, ncell)
# resolution : 0.006802721, 0.00862069 (x, y)
# extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=4700000 +y_0=8400000 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
# data source : in memory
# names : layer
# values : 0, 671 (min, max)
當我使用以前爲我工作的步驟(見here),rast.ecp2的所有值去NA。我哪裏錯了?
# The projection I want to project TO:
source_rast <- raster(nrow=222, ncol=462, xmn=-124.75, xmx=-67, ymn=25.125, ymx=52.875,
crs="+proj=longlat +datum=WGS84")
rast.ecp2LL <- projectRaster(rast.ecp2, source_rast)
rast.ecp2LL
# class : RasterLayer
# dimensions : 222, 462, 102564 (nrow, ncol, ncell)
# resolution : 0.125, 0.125 (x, y)
# extent : -124.75, -67, 25.125, 52.875 (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
# data source : in memory
# names : layer
# values : NA, NA (min, max)