Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fichier netCDF (.nc4) vers .png

    3 septembre 2022 à 10:30:41

    Bonjour à tous,

    J'ai actuellement un fichier .nc4 que j'aimerais transformer en .png. J'ai déjà ce script :

    import matplotlib.pyplot as plt
    import netCDF4
    
    # open a local NetCDF file or remote OPeNDAP URL
    url = 'http://example.com/truc.nc4'
    nc = netCDF4.Dataset(url)
    
    # examine the variables
    print(nc.variables.keys())
    print(nc.variables['z'])
    
    # sample every 10th point of the 'z' variable
    topo = nc.variables['z'][::10,::10]
    
    # make image
    plt.figure(figsize=(10,10))
    plt.imshow(topo,origin='lower') 
    plt.title(nc.title)
    plt.savefig('image.png', bbox_inches=0)

    Mais il retourne une erreur  :

    dict_keys(['lon', 'lat', 'time', 'AREA', 'FRLAKE', 'FRLAND', 'FRLANDICE', 'FROCEAN', 'PHIS', 'SGH'])
    Traceback (most recent call last):
      File "G:\Programmation\Programmes\Vrac\test.py", line 10, in <module>
        print(nc.variables['z'])
    KeyError: 'z'

    Pouvez-vous m'aider svp ?

    Merci d'avance !

    -
    Edité par Scraping Scrap 3 septembre 2022 à 11:05:10

    • Partager sur Facebook
    • Partager sur Twitter

    Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

      3 septembre 2022 à 11:11:14

      Bonjour,

      Ben, ca prouve que dans le dictionnaire nc.variables, il n'y a pas de clé 'z' ....

      Il devrait y en avoir une ?

      -
      Edité par Phil_1857 3 septembre 2022 à 11:11:40

      • Partager sur Facebook
      • Partager sur Twitter
        3 septembre 2022 à 17:12:01

        Bonjour, merci pour votre réponse !

        Mais je ne sais pas... J'ai récupérer code code sur Internet et n'ai pas trouvé de solution pour résoudre mon problème.

        Avez vous une solution à m'apporter ?

        Merci d'avance

        • Partager sur Facebook
        • Partager sur Twitter

        Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

          3 septembre 2022 à 18:33:24

          D'après le print que tu fais en ligne 9, les clés de nc.variables sont les suivantes:

          'lon', 'lat', 'time', 'AREA', 'FRLAKE', 'FRLAND', 'FRLANDICE', 'FROCEAN', 'PHIS', 'SGH'

          je ne vois pas de 'z'

          on peut faire print(nc.variables['lon']) par exemple, mais pas print(nc.variables['z']) 

          -
          Edité par Phil_1857 3 septembre 2022 à 18:36:28

          • Partager sur Facebook
          • Partager sur Twitter
            4 septembre 2022 à 15:27:54

            Bonjour,

            J'ai essayer toutes les variables mais toujours une erreur. Ignorons ce code et je repose ma question du début :

            Comment convertir un fichier .nc4 en .png en Python ?

            • Partager sur Facebook
            • Partager sur Twitter

            Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

              5 septembre 2022 à 19:30:15

              a priori, tu n'as pas hauteur dans ton fichier (pas de 'z' ou de 'level'), il faut prendre 'lon' pour l'axe x et 'lat' pour l'axe des y pour time=0
              • Partager sur Facebook
              • Partager sur Twitter

              Fichier netCDF (.nc4) vers .png

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown