2

通常のグリッドから海面温度データをプロットしたいのですが、適切な方法が見つかりません。私のデータは nc 形式で、 http: //www.nodc.noaa.gov/SatelliteData/pathfinder4km/ からダウンロードできます。

この R コードを使用してデータにアクセスしますが、プロットしようとすると問題が発生します

library("ncdf")
download.file("ftp://ftp.nodc.noaa.gov/pub/data.nodc/pathfinder/Version5.2/2003/20030715000715-NODC-L3C_GHRSST-SSTskin-AVHRR_Pathfinder-PFV5.2_NOAA17_G_2003196_night-v02.0-fv02.0.nc", destfile="sst.nc")
data=open.ncdf("sst.nc")
x <- get.var.ncdf(data,"lon")
y <- get.var.ncdf(data,"lat")
sst=get.var.ncdf(data,"sea_surface_temperature")

filled.contour(x,y,sst, color = terrain.colors, asp = 1)

そして、このエラーメッセージが表示されます

エラーenfilled.contour(x、y、sst、color = Terrain.colors、asp = 1):「x」および「y」の値の増加が予想されます

問題は y 座標にあると思います。緯度は 90 から -90 です。akima パッケージを使用して新しいグリッドを作成する際に、stackoverflow に関するいくつかの質問を見てきましたが、この場合は必要ありません。

データファイルの概要はこちら

http://ubuntuone.com/1mIdYVqoePn24gKQbtXy7K

よろしくお願いいたします。

解決した

ポール・ヒエムストラに感謝

ポイントはデータセットから緯度経度値を読み取ったのではなく、マトリックス内のデータポイントの i,j 座標を知り、プロットする地理的領域を選択しました。以下は私のために働くコマンドです:

library("ncdf")
download.file("ftp://ftp.nodc.noaa.gov/pub/data.nodc/pathfinder/Version5.2/2003/20030715000715-NODC-L3C_GHRSST-SSTskin-AVHRR_Pathfinder-PFV5.2_NOAA17_G_2003196_night-v02.0-fv02.0.nc", destfile="sst.nc")
data=open.ncdf("sst.nc")
sst=get.var.ncdf(data,"sea_surface_temperature")
x = seq(1, 8640, length.out = nrow(sst))         # Matrix dimension 8640x4320
y = seq(1, 4320, length.out = ncol(sst))

sst1 <- sst[c(1000:1500),c(1000:1500)]           # Subsetting a region
x = seq(1, 500, length.out = nrow(sst1))
y = seq(1, 500, length.out = ncol(sst1))

png(filename="sst.png",width=800,height=600,bg="white")
filled.contour(x,y,sst1, color = terrain.colors, asp = 1)
dev.off()

ここで、プロットに xy 座標の経度と緯度でラベルを付ける方法を理解しなければなりません。

4

2 に答える 2

2

問題はおそらく次のとおりです。xとの変数yは と同じサイズですsst。つまり、xとのy座標のマップを提供します。関数が必要とするのfilled_contourはこれらのマップではなく、より単純に、値が増加する行と列に関連付けられたxとの座標です。ysstx

于 2013-05-03T07:49:52.340 に答える