erreur lors d'ectraction des valeurs du pixel , lat, long d'un point dans un fichier netCDF4
bonjour;
je suis nouvelle sur les fichier netCDF4 j'ai une application avec wxpython ou je peux lire les fichiers netCDF4 et les visualiser et de sélectionner des points x y des lignes et colonnes : x = col & y = row : x_coord = 89.9877 , y_coord = 35.8141 ( cordonnées sous curseur )
et les affichers sur une autre fenetres
ce que j'aimerai faire ces d'avoir des informations sur la long , lat & valeur numérique du pixel dans ce point
j'ai un code que je comprend pas comment fonctionne
voilà le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import numpy as np
import netCDF4
from netCDF4 import Dataset
fic='air.departure.sig995.2012.nc'
ncdir='/home/data/'
nc_data = netCDF4.Dataset(path+fic,'r')
varnames = nc_data.variables.keys()
x_coord = 89.9877
y_coord = 35.8141
def ExtractVarsFromNetcdf(x_coord, y_coord, path, varnames):
"""
@params:
x_coord - Required : the x coordinate of the point
x_coord - Required : the y coordinate of the point
ncdir - Required : The directory of the netcdf file.
varnames - Required : The netcdf variables
"""
with Dataset(ncdir, "r") as nc:
# Get the nc lat and lon from the point's x, y
lon = nc.variables["lon"][int(round(x_coord))]
lat = nc.variables["lat"][int(round(y_coord))]
# Return a np.array with the netcdf data
air_dep = np.ma.getdata(
[nc.variables[air_dep][:, x_coord, y_coord] for air_dep in varnames]
)
return air_dep, lon, lat |
quand je l’exécute y'a pas d'erreur mais quand d exécuter cette fonction:
Code:
nc_data, lon, lat = ExtractVarsFromNetcdf(89.9877, 35.8141, path+fic, [ air_dep])
je reçois un erreur que air_dep , lat, mon sont pas définis
j'aimerai comprendre comment marche ce code svp et ou se trouve l'erreur
merci d'avance :)
merci