簡體   English   中英

使用緯度/經度邊界在R中繪制netcdf的子集

[英]Plot subset of netcdf in R using lat/lon boundaries

我在R中有一個netcdf文件,其中包含14個變量,我想使用它們分別使用緯度和經度邊界進行子集化,即提取特定海洋區域的某些變量。 到目前為止,我一直在嘗試南太平洋地區(在-150W和-90W之間以及在-60S和0S之間)。

文件詳細信息如下(下面的代碼僅顯示第一個變量“ bio1”的詳細信息):

"File oceandata.nc (NC_FORMAT_CLASSIC):"
14 variables (excluding dimension variables):"
float bio1[lon,lat]   "
standard_name: air_temperature"
long_name: bio1: Annual Mean Temp"
units: C"
_FillValue: 1.00000001504747e+30"
valid_max: 307.259399414062"
valid_min: 226.706176757812"

我使用了以下代碼:

require(ncdf4)
oceana = nc_open( "oceandata.nc" )
LatIdx = which ( oceana$dim$lat$vals < 0 & oceana$dim$lat$vals < -60)
LonIdx = which ( oceana$dim$lon$vals > -150 & oceana$dim$lon$vals < -90)
myvariable <- ncvar_get( oceana, "bio1")[ LonIdx, LatIdx]
lon <- ncvar_get(oceana, "lon")
lat <- ncvar_get(oceana, "lat")

但是,當我嘗試使用以下方式進行繪制時:

image(lon,lat, myvariable)

我收到以下錯誤:

Error in image.default(lon, lat, myvariable) : 

預期增加“ x”和“ y”值

對於在這里我要去哪里出錯的任何評論/建議,將不勝感激!

image要求xy參數具有遞增的值。 我懷疑你的latlon值下降(即-90W到-150W)。 如果是這樣,請考慮切換順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM