我已下载并导入 OMI 仪器的 3 级 netcdf 文件。您可以在此处下载示例: https://data.gesdisc.earthdata.nasa.gov/login?code=nY1ztQoDBlvAgq4cM19h-uxNn54_nx7l0wtOgykcznvRxbtvxyHDlJrGZkF1nRFufubxyNwsOmq6jcURkTWn&state=%2Fdata%2FMINDS%2FOMI_MINDS_NO2d.1 .1%2F2016%2FOMI-Aura_L3-OMI_MINDS_NO2d_2016m0105_v01-01-2022m0218t115317.nc
我使用 terra 包导入它,如下所示:
path = "OMI-Aura_L3-OMI_MINDS_NO2d_2016m0101_v01-01-2022m0218t115312.nc"
r1 <- terra::rast(path,subds = "ColumnAmountNO2") ## select the variable name
plot(r1)
它返回以下错误:
Error in plot.xy(xy, type, ...) :
invalid type passed to graphics function
但是 r1 的输出看起来不错:
> r1
class : SpatRaster
dimensions : 720, 1440, 1 (nrow, ncol, nlyr)
resolution : 0.25, 0.25 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +a=6378137 +rf=298.25723 +no_defs
source : OMI-Aura_L3-OMI_MINDS_NO2d_2016m0101_v01-01-2022m0218t115312.nc:ColumnAmountNO2
varname : ColumnAmountNO2 (NO2 Vertical Column Density)
name : ColumnAmountNO2_Time=16071.5
unit : molec/cm2
我做错了什么?
正如 Grzegorz Sapijaszko 所指出的,您需要明确使用
terra::plot
或使用 library(terra)
问题:
x <- terra::rast(ncol=10, nrow=10, vals=1:100)
plot(x)
#Error in plot.xy(xy, type, ...) :
# invalid type passed to graphics function
解决方案:
terra::plot(x)
或者
library(terra)
plot(x)