У меня есть ncdf файлы, которые я читаю, используя растровую функцию brick
. Мой пример / объяснение фокусируется на одном слое в кирпиче
Доступные здесь данные (слишком велики для крошечной загрузки): https://wetransfer.com/downloads/f21973282c3f9aa4153e9b29ab26227f20190612111133/d1f6b123571e8f7f25cdc633e27c3fa220190612111133/7bd6ec
> rt <- brick("mrros/mrros_EUR-11_CNRM-CERFACS-CNRM-CM5_rcp85_r1i1p1_CNRM-ALADIN63_v2_mon_200601-201012.nc",
+ varname = "mrros")[[1]]
> rt
class : RasterLayer
band : 1 (of 60 bands)
dimensions : 453, 453, 205209 (nrow, ncol, ncell)
resolution : 12.5, 12.5 (x, y)
extent : -6.25, 5656.25, -6.25, 5656.25 (xmin, xmax, ymin, ymax)
crs : +proj=lcc +lat_0=49.5 +lat_1=49.5 +lon_0=10.5 +ellps=WGS84 +lat_2=45
source : C:/Users/coding/Desktop/Files/mrros/mrros_EUR-11_CNRM-CERFACS-CNRM-CM5_rcp85_r1i1p1_CNRM-ALADIN63_v2_mon_200601-201012.nc
names : X2006.01.16
z-value : 2006-01-16
zvar : mrros
>
> plot(rt)
>
![enter image description here](https://i.stack.imgur.com/19zyQ.png)
Растровый кирпич автоматически обнаруживает Crs данных. Единственное, что может показаться отсутствующим, - это единицы данных (данные с интервалами 12,5 км)
> crs(rt)
CRS arguments:
+proj=lcc +lat_0=49.5 +lat_1=49.5 +lon_0=10.5 +ellps=WGS84 +lat_2=45
> crs(rt) = paste0(crs(rt), "+units=km")
> crs(rt)
CRS arguments:
+proj=lcc +lat_0=49.5 +lat_1=49.5 +lon_0=10.5 +ellps=WGS84 +lat_2=45+units=km
Я хочу изменить проекцию на WGS84
> rtPr <- projectRaster(rt, crs = CRS("+init=EPSG:4326"))
> rtPr %>% plot
![enter image description here](https://i.stack.imgur.com/Zz3U4.png)
Эти единицы явно не WGS84, в Европе нет продольного диапазона .12 градусов (или широтного диапазона .5 градусов)!
Кто-нибудь может посоветовать, почему projectRaster
не возвращает данные по соответствующей сетке? Я предполагаю, что это как-то связано с предположением о вводе crs, но я понятия не имею, на что его изменить, так как это те значения, которые я бы указал, если бы сделал это вручную!