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

Shell et commandes GNU Discussion :

Boucle while dans boucle while


Sujet :

Shell et commandes GNU

  1. #21
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Mille excuses messieurs pour mes imprécisions. C'est que je pensai pas que ma première question allez modifier tout mon code. Mais au vue des conseils de N_baH j'ai détaillé mon objectif sans toutefois ajouter trop d'informations qui me semblées peu intéressantes pour vous (je me trompais ). Donc Je vais essayé d'être plus précis:

    je suis cartographe (étudiant) et je fais une étude sur l'occupation de mon sol à travers l'étude d'images Raster (inverse du vecteur) issu d'un satellite (Landsat 7) ces images contiennent l'information des objets au sol dans 7 couleurs (bandes spéctrales) Indigo Rouge Vert Bleu / Proche IR / Moy IR / L IR.

    Chaque pixel de mon image représente une surface au sol de 30 mètres par 30 mètres. Le logiciel que j'utilise me créé suivant ma demande une "signature" courbe (7 fois l'information contenu dans l'adresse du pixel contenu dans les 7 images) de l'objet au sol.

    Toutefois cette signature est une moyenne des objets présents au sol. Car dans 900 mètres carrés il peu y avoir des champs, des arbres, des bâtiments ou un mélange de tout ça. Par conséquence je demande au logiciel de réaliser une étude statistique du comportement de ces points (iso-data : ou analyse multi-variés) suivant des masques ou groupe de pixels (supposition après étude visuelle "caractérisation visuelle" ) de champs, villes,... Toutefois vu que c'est la première passe (comme une photo qu'on zoom à fond et qui pixellise), on distingue pas bien certains petits éléments, on englobe des classes qui ne vont pas ensemble. un champs dans une ville ou inverse....

    Le logiciel quant à lui est capable de réaliser autant de signatures que de comportements statistiques (1/3 de champs dans pixel ville,... 1/2 de champs dans pixel ville...) il me restitue donc ces informations sous forme de courbes (les 55 de mon exemple je pourrais en demander 2000 pour avoir des signatures parfaites). Toutefois jusqu'a présent on compare à l'oeil les ressemblances entre courbes (D'où mon souhait d'automatiser le processus) car peut être (et c'est sur) que ce que j'ai placé en ville est un champs, et ce que j'ai placé en eau est un champs d'où la recherche de concordance pour après réaliser un reclassement (regroupement de courbe similaire) eau ville champs approximativement 12 classes. Pour augmenter les écarts et réduire les erreurs d'appréciation on utilise du multi-saison (deux dans mon cas). Car un champs de vigne en hiver se comporte (au niveau spéctrales) pareil qu'un champs de navet la différence est en été d'où l'étude après concordance de la première courbe hiver de la deuxième courbe été. Les 5% en plus et moins sont le seuil maximum d'impureté pour comparer les courbes dû à un mélange léger entre classe (si sur 900 m2 de ville j'ai 45m2 de pelouse ça reste un centre ville sinon ça devient peut être un lotissement moins dense plus de jardins)

    j'espère que c'est plus clair. ci-joint courbes.txt avec les +-5% par courbes Merci de votre attention.
    Fichiers attachés Fichiers attachés

  2. #22
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    C'est bien mais comme tu t'en doutais déjà, tu donnes beaucoup d'informations qui ne sont pas indispensables pour comprendre ce que tu veux.

    En revanche tu ne dis toujours pas précisément quelle courbes il faut comparer avec quelles autres courbes. Les étés avec les étés ? les hivers avec les hivers ? la combinaison été-hiver avec la même combinaison été-hiver d'une autre courbe ?

    D'autre part, plutôt que fixer une valeur "magique" de 5%, le script final devrait pouvoir accepter comme paramètre un seuil que tu pourra faire varier pour déterminer sa la valeur idéale.

  3. #23
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 686
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 686
    Par défaut
    pas sionant.
    j'espère que c'est plus clair.
    pas du tout.

    avant/après.
    pourquoi (algorithmiquement parlant).
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #24
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Ajouter des colonnes avec -5% et +5% dans le tableau n'apporte rien. Un programme saura très bien le faire et plus vite qu'il ne faut pour lire les nouvelles valeurs dérivées.

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    voici mon logigramme soyez pas trop sévère c'est mon premier. MerciNom : organigramme.jpg
Affichages : 164
Taille : 342,4 Ko

  6. #26
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Bonsoir à tous

    Je vous remercie pour vos idées et vos questions qui m'ont poussés à remettre en causes mon "code" j'ai trouvé une solution à mon problème grâce à vous. Ce n'est pas du code mais c'est très efficace.

    Nom : Capture d’écran 2017-03-13 à 18.32.45.png
Affichages : 122
Taille : 220,9 Ko


    Dans Excel, Outils, Analyses de données (module à débloquer car non affiché par défaut) Analyse de Corrélation. Cela donne la correspondance (corrélation entre toute mes courbes j'obtiens par exemple 99,9% de similitude entre AG2_1 et AG1_1.

    Toutefois je suis quand même curieux d'avoir une réponse sur comment faire remonter une variable sous shell dans le shell parent. Même si c'est pas propre ou "conventionnel"

    Encore merci

  7. #27
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par paytabass Voir le message
    comment faire remonter une variable sous shell dans le shell parent. Même si c'est pas propre ou "conventionnel"
    Je ne vois pas où une variable devrait remonter dans un shell parent dans le script initial. Le mieux serait que tu envoies un exemple simple de ce que tu souhaites faire.

  8. #28
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    bonsoir jlliagre

    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
    i=1
    # boucle fichier
    while (($i <= Nombrefichier)) ; do
        echo $i 
       var1=X
        j=1 
        # boucle ligne
        while (($j <= Nombreligne)) ; do
             echo $j
             var2=Y
            ((j=j+2))
        done
        ((i++))
    done
     
    echo $var1
    (réponse)X
    echo $var2
    (aucune réponse)
    Je ne vois pas mon Y car il est définit dans un sous shell si j'ai bien compris mais je souhaite le voir. Y a t-il une solution?

  9. #29
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 686
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 686
    Par défaut
    non, il n'y a pas de sous-shell dans l'exemple que tu donnes.

    ce ne sont que des boucles imbriquées.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #30
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Ok autant pour moi. Je comprends vraiment pas pourquoi alors je n'ai rien dans $var2 ?

  11. #31
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par paytabass Voir le message
    Ok autant pour moi. Je comprends vraiment pas pourquoi alors je n'ai rien dans $var2 ?
    Parce que Nombreligne vaut 0 ?

  12. #32
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Bonjour jlliagre et N_baH

    j'ai repris le code à tête reposée suivant vos indications. Il fonctionne maintenant

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    # variable itération Fichier
    i=1
    Nombrefichier=5
    echo "Nombrefichier="$Nombrefichier "itérateur i="$i
     
    # entrée boucle fichier
    while (($i <= Nombrefichier)) ; do 
    	echo $i 
        var1=X
     
        # variable itération ligne
        j=1
        Nombreligne=6
        echo "Nombreligne="$Nombreligne "itérateur j="$j
     
        # entrée boucle ligne
        while (($j <= Nombreligne)) ; do
             echo $j
             var2=Y
     
            #incrémentation variable boucle ligne
            ((j=j+2))
     
        #sortie boucle ligne
        done    
     
        #incrémentation variable boucle fichier
        ((i++))
     
    #sortie boucle Fichier
    done
     
     
    echo $var1
    echo $var2

    merci pour vos conseils et votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/08/2010, 14h06
  2. [MySQL] while dans un while
    Par kopax dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/04/2010, 09h21
  3. [MySQL] while dans une while ?
    Par link.80 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/06/2009, 19h09
  4. boucle "for" dans "do while"
    Par oranoutan dans le forum C#
    Réponses: 13
    Dernier message: 05/06/2007, 22h13
  5. Requete SQL dans boucle while
    Par vince_grenoblois dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 04/08/2006, 21h41

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