2017-12-13 17 views
-1

グローバルマップを正弦波からwgs84に変換しようとしています。私はラスタパッケージでprojectRasterを使用します。グローバルマップを正弦波からwgs84に変換してprojectRasterを使用し、データの一部が欠落しています

> ras_sinu 
class  : RasterLayer 
dimensions : 33600, 86400, 2903040000 (nrow, ncol, ncell) 
resolution : 463.3127, 463.3127 (x, y) 
extent  : -20015109, 20015109, -6671703, 8895604 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs 
data source : C:\Users\jw2495\Desktop\Gap-filling\MODIS_fPAR\2015.01.09\sinu.tif 
names  : sinu 
values  : 0, 1 (min, max) 

plot here

そして、私はここで結果を得る

llprj <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0" 
ras_wgs84=projectRaster(ras_sinu, crs=llprj) 

を使用します: オリジナルラスタはここにある

> ras_wgs84 
class  : RasterLayer 
dimensions : 33583, 85106, 2858114798 (nrow, ncol, ncell) 
resolution : 0.00423, 0.00417 (x, y) 
extent  : -179.9998, 179.9986, -60.02026, 80.02085 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0 
data source : C:\Users\jw2495\AppData\Local\Temp\RtmpEPstLE\raster\r_tmp_2017-12-13_123847_5260_78184.grd 
names  : sinu 
values  : 0, 1 (min, max) 

plot here

一部のデータが失われているようです。誰が何が起こったのか知っていますか? ありがとうございます!ここで

答えて

0

は、それが動作することを示唆しているあなたの情報に基づいて再現性の例である:

例データ:

library(raster) 
library(maptools) 
sincrs <- "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m" 
llcrs <- "+proj=longlat +ellps=WGS84 +datum=WGS84" 
data(wrld_simpl) 
w <- spTransform(wrld_simpl, sincrs) 
ras_sinu <- raster(nrow=336, ncol=864, ext=extent(-20015109, 20015109, -6671703, 8895604), crs=sincrs) 
rs <- rasterize(w, ras_sinu) 
plot(rs) 

は変換:

rll <- projectRaster(rs, crs=llcrs) 
plot(rll) 

おそらく、あなたはrasterを更新する必要があります。これはで

packageVersion("raster") 
#[1] ‘2.6.7’ 
+0

ありがとう!実際には、最初に500mから5kmの解像度の元のデータを集計してから、projectRasterを使用しました。そして物事はうまくいった。私はそれが多数のピクセルの問題だと思う。 33600 * 86400で試してみませんか? –

+0

あなたはそれを試しましたか? – RobertH

+0

こんにちは!私は33600 * 86400で試しました。うまくいくようです。最後に、base :: rowSums(x、na.rm = na.rm、dims = dims、...)のエラーを示します。 projectRasterを実行しているときに 'Calloc'がメモリを割り当てられませんでした(2468074の16バイト)プロットは完了です。 –

関連する問題