Come visualizzare un dataset NetCDF

Oct 24 2020

Supponiamo che io abbia un NetCDFfile piuttosto grande che apro come set di dati usando xarray.

import xarray

nc_in = r"....\D_P_WGS84_comp.nc"
nc_ds = xarray.open_dataset(nc_in)

È composto da più variabili raster, ciascuna con una singola banda, coordinate x, y e un crs (4326):

nc_ds

Supponiamo che io voglia visualizzarlo molto semplicemente nel mio Python Notebook. Non voglio davvero aggiungere mappe di base o leggende o qualcosa del genere. Ho provato semplicemente a eseguire show(nc_ds) but throws an errors AttributeError: l'oggetto 'Dataset' non ha l'attributo 'shape'. Ho anche notato che le dimensioni sono congelate. Qual è il modo più semplice per visualizzare questo set di dati o una singola variabile in Python? Esiste una mod o un'estensione del pacchetto che lo farebbe?

Risposte

2 bugmenot123 Oct 24 2020 at 03:24

Poiché a Datasetpuò contenere più di una variabile, non sarebbe banale per il software sapere cosa si desidera visualizzare. Se selezioni una delle sue variabili, DataArraytuttavia, questa può essere facilmente visualizzata (se è in un formato appropriato).

Le variabili di a Datasetsono disponibili tramite il suo data_varsattributo. Questo espone le variabili come DataArrays in un dict con i nomi delle variabili come chiavi.

Passo dopo passo:

variables = nc_ds.data_vars
f02_nbr_e0002 = variables['F02_NBR_E0002']
show(f02_nbr_e0002)

Oneliner efficiente:

show(nc_ds.data_vars['F02_NBR_E0002'])