So visualisieren Sie einen NetCDF-Datensatz

Oct 24 2020

Angenommen, ich habe eine ziemlich große NetCDFDatei, die ich als Datensatz mit öffne xarray.

import xarray

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

Es besteht aus mehreren Rastervariablen mit jeweils einem Band, x-, y-Koordinaten und einem crs (4326):

nc_ds

Angenommen, ich möchte dies ganz einfach in meinem Python-Notizbuch visualisieren. Ich möchte nicht wirklich Grundkarten oder Legenden oder ähnliches hinzufügen. Ich habe versucht, show(nc_ds) but throws an errors AttributeError einfach auszuführen: Das Objekt 'Dataset' hat kein Attribut 'shape'`. Mir ist auch aufgefallen, dass die Maße eingefroren sind. Was ist der einfachste Weg, um diesen Datensatz oder eine einzelne Variable davon in Python zu visualisieren? Gibt es eine Mod- oder Paketerweiterung, die dies tun würde?

Antworten

2 bugmenot123 Oct 24 2020 at 03:24

Da eine DatasetVariable mehr als eine Variable enthalten kann, ist es für Software nicht trivial zu wissen, was sie anzeigen soll. Wenn Sie jedoch eine der Variablen auswählen DataArray, kann diese problemlos angezeigt werden (sofern sie in einem geeigneten Format vorliegt).

Die Variablen von a Datasetsind über sein data_varsAttribut verfügbar . Dadurch werden die Variablen als DataArrays in einem Diktat mit den Variablennamen als Schlüssel verfügbar gemacht.

Schritt für Schritt:

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

Effizienter Oneliner:

show(nc_ds.data_vars['F02_NBR_E0002'])