IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

[GDAL] Lecture d'un fichier raster .adf aigrid


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Par défaut [GDAL] Lecture d'un fichier raster .adf aigrid
    Bonjour à tous,

    Je continue à travailler sur mon script où j'ai maintenant un problème assez particulier et je n'ai pas réussi à trouver de réponse sur le net.

    Je dispose en fait de fichier de type raster Arc Info Binary grid (fichier adf)
    Je recherche à lire les altitudes des points de ce fichier.
    (en travaillant sur ArcGis pas de soucis, elle est correctement géoréférencée, lecture ok aussi)

    Le soucis, c'est que je n'arrive pas à utiliser la bibliothèque gdal pour lire les attributs de chaque pixel. En fait, je bute comme dans le message ci-dessous :
    http://lists.maptools.org/pipermail/...il/001207.html

    J'ai donc testé des drivers comme aigrid.py mais qui me renvoyait vers des erreurs encore plus incompréhensible. Je me suis arrêté là avec aigrid.py, pourtant très prometteur.

    mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    IDLE 2.6
    >>> import os
    >>> import gdal
     
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        import gdal
      File "C:\Python26\Lib\site-packages\gdal.py", line 3, in <module>
        deprecation_warn('gdal')
      File "C:\Python26\Lib\site-packages\osgeo\gdal.py", line 89, in deprecation_warn
        DeprecationWarning)
      File "C:\Python26\lib\warnings.py", line 29, in _show_warning
        file.write(formatwarning(message, category, filename, lineno, line))
    TypeError: idle_formatwarning_subproc() takes exactly 4 arguments (5 given)
    >>> import gdal
    >>> from gdalconst import *
    >>> raster=gdal.Open('C:\Documents and Settings\xixix\Bureau\Developpement\xixix\w001001x.adf')
    >>> rasterdriver=raster.GetDriver().ShortName
     
    Traceback (most recent call last):
      File "<pyshell#19>", line 1, in <module>
        rasterdriver=raster.GetDriver().ShortName
    AttributeError: 'NoneType' object has no attribute 'GetDriver'
    La première erreur, je ne sais pas trop d'où elle vient mais en important une deuxième fois, je n'ai pas de message d'erreur.

    Mais la deuxième erreur, c'est vraiment le grand mistère. Bon en clair, je suis perdu !
    En tuto, je me suis servit de ressource sur GDAL.ORG : http://www.gdal.org/gdal_tutorial.html

    Je ne connais pas forcément bien la façon dont on peut lire le raster (plusieurs fichiers adf ect comme décliné dans le premier url), mais j'avais donc plusieurs questions:

    1 - Est ce que vous avez déjà vu la première erreur ? Et comment passer outre ?
    2 - Est ce qu'il existe des lecteurs annexes à gdal pour les fichiers raster ?
    3 - Quel sont les format de fichier raster les plus facile à manipuler pour en lire les altitudes (value) ?
    4 - Est ce que j'ai rien compris aux classes et aux fonctions de python ?


    Merci d'avance...

    Etienne

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Par défaut [GDAL] lecture d'un fichier adf
    J'ai trouvé la solution à mon problème :

    Le fichier adf (ou le pack fichier) était dans un dossier (ici nommé raster_ign : dans mon script c'est "xixix").

    En fait, en faisant os.chdir(mon repertoire de travail jusqu'à raster_ign), j'ai eu une erreur windows32 me faisant part que l'adresse n'existait pas.

    En clair, le dossier contenant mes fichiers raster n'est pas considéré comme un dossier "commun". En copiant l'ensemble de mes fichiers raster en dehors de mon dossier raster_ign, je réussi à lire tranquillement le fichier adf...

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >>> os.chdir('C:\Documents and Settings\xixix\Bureau\Developpement') #répertoire ou j'ai sorti mes fichiers
    >>> raster=gdal.Open('w001001.adf')
    >>> rasterx=raster.RasterXSize
    >>> print rasterx
    9560

    Bon voilà, si ça peut servir à certain.

    Je suis toujours ouvert à des réponses par rapport à la lecture de ce fichier si quelqu'un à déjà fait la manip car je suis novice avec python. (Ca se voit )

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 07/07/2004, 16h30
  2. Réponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo