0

R のラスター パッケージを使用して data.frame をラスタライズするのに問題があります。

私のdata.frameには、座標(グリッド0.5 * 0.5)、-90から90までの10進経度、および-180から180までの10進緯度を持つ世界の海洋(温度など)の環境データが含まれています。したがって、ベースには90 * 2 *が含まれます2 x 180*2*2 = 360*720 = 259200 行、および 59 個のコロン (57 個の変数 + 座標の 2 個のコロン)。

ラスタライズ後、これは私が得たものですplot(r): http://postimg.org/image/rqocxcbi3/

したがって、間違った方向に複製された画像です。

私のコードは次のとおりです。

FILE_ENV = read.csv('ENV_DATABASE.csv')
coordinates(FILE_ENV) <- ~LON+LAT
proj4string(FILE_ENV3)=CRS("+init=epsg:4326")
FILE_ENV = spTransform(FILE_ENV,CRS("+init=epsg:4326"))
gridded(FILE_ENV) = TRUE
r = raster(FILE_ENV)

plot(r)

ここで私が見逃している/台無しにしているものを見ることができますか?

ありがとう

編集 : head(FILE_ENV)

LON LAT BAT BAT_CLASSE SLOPE SEDIMENT SST SST_SEAFLOOR SST_SUM SST_WIN SAL_SURF SAL_SEAFLOOR...

1 -179.75 89.75 2804 NA 0.14031838 NA NA NA NA NA NA NA

2 -179.25 89.75 2941 NA 0.12495525 NA NA NA NA NA NA NA

3 -178.75 89.75 3048 NA 0.07784129 NA NA NA NA NA NA NA

4 -178.25 89.75 3093 NA 0.03123910 NA NA NA NA NA NA NA

5 -177.75 89.75 3109 NA 0.01536359 NA NA NA NA NA NA NA

6 -177.25 89.75 3063 NA 0.15619729 NA NA NA NA NA NA NA

4

2 に答える 2

0

私は rasterfromXYZ がうまくいったと思います。rasterとはいえ、物事をより小さく、より明確なチャンクに分割するために作業する場合に最適に機能するようです。コンストラクターは、オブジェクトから別のものを求めていると想定しているようで、マトリックス エントリの座標が失われています。

これはベスト プラクティスではありませんが、データが厳密なグリッドであることがわかっているため、エントリをポイントに変換してラスタライズできます。

library(raster)
coords <- coordinates(FILE_ENV[,c("LON","LAT")])
spdf <- SpatialPointsDataFrame(coords,data=FILE_ENV)
r <- rasterize(spdf,field='value',raster(nrow=360,ncol=720))

r にはラスターが含まれているはずです。

于 2015-06-02T23:25:40.417 に答える