Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft Planetary Computer Pro incluye un icono que se puede usar para visualizar algunos recursos de NetCDF.
Comprobación de la visualizabilidad de NetCDF
No todos los conjuntos de datos de NetCDF que se pueden ingerir en el equipo planetario de Microsoft son compatibles con el icono de visualización de Planetary Computer Pro. Un conjunto de datos debe tener ejes X e Y, coordenadas de latitud y longitud, y dimensiones espaciales y límites que se van a visualizar. Por ejemplo, un conjunto de datos en el que la latitud y la longitud son variables, pero no coordenadas, no es compatible con el icono de Planetary Computer Pro.
Antes de intentar visualizar el conjunto de datos de NetCDF, puede usar lo siguiente para comprobar si cumple los requisitos.
Instalación de las dependencias necesarias
pip install xarray[io] rioxarray cf_xarrayEjecute la siguiente función:
import xarray as xr import cf_xarray import rioxarray def is_dataset_visualizable(ds: xr.Dataset): """ Test if the dataset is compatible with the Planetary Computer tiler API. Raises an informative error if the dataset is not compatible. """ if not ds.cf.axes: raise ValueError("Dataset does not have CF axes") if not ds.cf.coordinates: raise ValueError("Dataset does not have CF coordinates") if not {"X", "Y"} <= ds.cf.axes.keys(): raise ValueError(f"Dataset must have CF X and Y axes, found: {ds.cf.axes.keys()}") if not {"latitude", "longitude"} <= ds.cf.coordinates.keys(): raise ValueError("Dataset must have CF latitude and longitude coordinates, " f"actual: {ds.cf.coordinates.keys()}") if ds.rio.x_dim is None or ds.rio.y_dim is None: raise ValueError("Dataset does not have rioxarray spatial dimensions") if ds.rio.bounds() is None: raise ValueError("Dataset does not have rioxarray bounds") left, bottom, right, top = ds.rio.bounds() if left < -180 or right > 180 or bottom < -90 or top > 90: raise ValueError("Dataset bounds are not valid; they must be within [-180, 180] and [-90, 90]") if ds.rio.resolution() is None: raise ValueError("Dataset does not have rioxarray resolution") if ds.rio.transform() is None: raise ValueError("Dataset does not have rioxarray transform") print("✅ Dataset is compatible with the Planetary Computer tiler API.")