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

R Discussion :

Lister tous les fichiers format tif d'un dossier


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut Lister tous les fichiers format tif d'un dossier
    bonjour,

    Je suis débutante sur R, j'essaie de lister tous les fichiers au format tif que j'ai dans un dossier afin de les visualiser.

    J’ai réussi à le faire pour une fichier mais pas pour tous.

    PS: j'ai installé les librairies raster, sp et rgdal, et MODIS (les fichiers que j'ai sont de type MODIS, ce sont des images satellitaire)

    Merci de m'aider.

    Voila mon script R :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    library(raster)
    library(rgdal)
    library(tiff)
     
    r <- raster("D:/Rprojet/MODIS/MOD13Q1.006__250m_16_days_EVI_doy2000209_aid0001.tif")
    str_name<-'MOD13Q1.006__250m_16_days_EVI_doy2000209_aid0001.tif' 
    imported_raster=raster(str_name)
    plot (r)
    ce script me permet d'importer et afficher une seul fichier alors que j'ai besoin de les afficher tous.

    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    tu peux retrouver tous les fichiers d'un dossier en les filtrant selon leur extension via la fonction list.files.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    l1 <- list.files("D:/Rprojet/MODIS/", patt = "\\.tif")
    par(ask = TRUE)
    for (i in l1) {
      plot(i)
    }
    Après avec ce code a chaque fois que tu vas charger une image on va te demander de valider pour représentée graphiquement le fichier puis tu passes à l'image suivante et tu écrases la précédente.
    Il faut savoir ce que tu veux faire de chaque graphique.

    cdlt

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    Bonjour;

    merci beaucoup je vais le tester mais après avoir listé tous mes fichiers tif, j'aimerai les ploter, les visualiser tous en même temps dans la fenêtre plot du R, est-ce que je peux ? J'ai 53 fichiers ?

    merci beaucoup

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    le script tourne mais affiche ce message je le comprend pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    > l1 <- list.files("D:/Rprojet/MODIS", patt = "\\.tif")
    > par(ask = TRUE)
    > for (i in l1) {
    +   plot(i)
    + }
    Hit <Return> to see next plot: 
    Error in plot.window(...) : valeurs finies requises pour 'ylim'
    In addition: Warning messages:
    1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
    2: In min(x) : no non-missing arguments to min; returning Inf
    3: In max(x) : no non-missing arguments to max; returning -Inf
    >
    je dois ecrire quelque chose je pense ?

    merci

  5. #5
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    re,

    parce qu'il y a une erreur dans le script. Dans l1 tu as ne le nom des fichiers mais pas leur chemin complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    l1 <- list.files("D:/Rprojet/MODIS/", patt = "\\.tif")
    l1 <- sprintf("D:/Rprojet/MODIS/%s", l1)
     
    par(ask = TRUE)
    for (i in l1) {
      plot(i)
    }
    cdlt

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    Dans l1 j'ai mis le chemin complet vers le Dossier MODIS où il y a les fichiers tif, veuillez m'excuser est-ce que à la place de %s je mets le nom du fichier tif ou non ?

    Je ne comprends pas ce qu'il veut dire par « return  »

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hit <Return> to see next plot:
    et quand je clique sur entrer il affiche l'erreur encore

  7. #7
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    excuse moi, c'est moi qui suis fatigué.
    Il n'y a aucune commande dans ce que je t'ai donné qui importe le fichier ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    l1 <- list.files("D:/Rprojet/MODIS/", patt = "\\.tif")
    l1 <- sprintf("D:/Rprojet/MODIS/%s", l1)
     
    par(ask = TRUE)
    for (i in l1) {
      r <- raster(i)
      plot(r)
    }
    cdlt

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    wow oui ça marche et à chaque fois que je clique sur entrer il plot le fichier tif suivant. Merci beaucoup

    Est-ce qu'il est possible de les afficher tous en même temps ou c'est impossible ou par 5 ou 4 ; j'ai 53 fichiers tif ?

    Je veux les utiliser afin d'extraire un indice EVI de végétation et créer des profils et les analyser !

    Je m'excuse pour mon accent en français

    merci

  9. #9
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Tous en même temps ça ne rendra rien.
    Si tu les veux 2*2 ou 4*4, tu remplaces la commande par(ask = TRUE) par par(ask = TRUE, mfrow = c(2,2)) ou par(ask = TRUE, mfrow = c(4,4)).
    cdlt

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    oui merci beaucoup je viens de tester et ça marche .

    j’aimerai savoir comment l’arrêter de lister les files je fais comment ?

    je vais apprendre R car je suis débutante

    bonne journée

    svp j'eai besoin des tuto ou cours détaillé pour bien apprendre R

    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2018, 12h48
  2. Réponses: 5
    Dernier message: 20/04/2017, 19h34
  3. [ZF 1.9] Lister tous les contrôleurs dispo dans une application
    Par cyrille37 dans le forum MVC
    Réponses: 1
    Dernier message: 09/09/2009, 18h58
  4. Réponses: 3
    Dernier message: 10/03/2008, 22h04
  5. [Tableaux] Lister tous les répertoires dans une liste
    Par cdevl32 dans le forum Langage
    Réponses: 10
    Dernier message: 01/03/2008, 18h20

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