使用 terra 绘制返回错误的 netcdf

问题描述 投票:0回答:1

我已下载并导入 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 

我做错了什么?

r raster netcdf terra
1个回答
0
投票

正如 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)
© www.soinside.com 2019 - 2024. All rights reserved.