banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Mon 28 July 2008 14:33

rgis
Participant occasionnel
Date d'inscription: 5 Oct 2007
Messages: 31

Arcmap : Récapituler un champ sur une ligne

Bonjour,


Est-il possible de récapituler ou de regrouper les informations d'une colonne sur une ligne.

Je m'explique :

Ex : Table attributaire

    Essai                  C1                C2                  C3

        ville                  paris   
        ville                                    marseille
        ville                                                            toulouse 

Pour donner ceci :

     Essai                  C1                           C2                              C3

         ville               paris                          marseille                     toulouse



En vous remerciant,

Géomatiquement,


Régis

Hors ligne

 

#2 Mon 28 July 2008 23:22

ppluvinet
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 610

Re: Arcmap : Récapituler un champ sur une ligne

La question que je me pose :
Dans la colonne C1, tu n'as que "Paris" ou tu peux avoir d'autres villes? même chose pour C2 et C3? et dans Essai, tu n'as que "villes"?

PP


Pascal PLUVINET

Hors ligne

 

#3 Tue 29 July 2008 09:05

rgis
Participant occasionnel
Date d'inscription: 5 Oct 2007
Messages: 31

Re: Arcmap : Récapituler un champ sur une ligne

Bonjour,

Dans la colonne "essai", il n'y a pas que ville, il peut y avoir d'autres valeurs (ex : région, département...).

Pour détailler, sur chaque ligne, on a une valeur dans le champ "essai" (ex :ville, région, département...) et une valeur soit dans C1, C2, C3.

  Essai                  C1                C2                  C3

  ville                    paris   
  ville                                       marseille
  ville                                                             toulouse 
  departement        64 
  departement                           75
  departement                                                 31
  region                 Limousin   
  region                                    Aquitaine
  region                                                          PACA

Pour donner ceci

Essai                  C1                           C2                              C3

  ville                     paris                      marseille                  toulouse
  departement         64                         75                            31
  region                  Limousin                 Aquitaine                  PACA

En espérant avoir été un peu plus précis.

Cdlt,

Regis

Hors ligne

 

#4 Tue 29 July 2008 09:24

ppluvinet
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 610

Re: Arcmap : Récapituler un champ sur une ligne

Je ne sais pas comment faire exactement ce que tu désires exactement. Peut-être quelqu'un aura une meilleure idée.
Cependant, pourquoi ne ferais-tu pas une colonne "C4" qui rassemblerait les colonnes C1,C2,C3 (soit par des conditions IF soit par une concatenation) et éventuellement une colonne C5 qui indiquerait si la valeur en C4 vient de C1,C2ouC3 ? ca ressemblerai davantage à une base de données.

PP


Pascal PLUVINET

Hors ligne

 

#5 Tue 29 July 2008 09:58

rgis
Participant occasionnel
Date d'inscription: 5 Oct 2007
Messages: 31

Re: Arcmap : Récapituler un champ sur une ligne

Re,

L'opération que tu proposes est l'inverse de ce que j'ai effectué. Si on concatène nous nous retrouverons avec une ligne et une seule valeur par ligne alors que nous cherchons à avoir toutes les valeurs des différents champs sur une même ligne.

C'est un problème un peu complexe et j'ai du mal à me faire comprendre.

L'exemple que j'ai donnée précédemment est fictif, nous travaillons sur notre BD_Route et nous avons pour un même tronçon différentes données (ou circuits) sur plusieurs champs et sur plusieurs lignes ( pas forcement 3, cela peut aller jusqu'à 10) comme le montre les tableaux précédents.

Notre but, pour un tronçon (dc une ligne ds la table attributaire) est d'avoir toutes les informations ds les champs de cette même ligne et non sur plusieurs lignes avec une seule information par champ.

Désolé pour ce meli-melo d'informations PP, mais je ne sais plus comment m'expliquer.

R.

Hors ligne

 

#6 Tue 29 July 2008 12:03

ppluvinet
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 610

Re: Arcmap : Récapituler un champ sur une ligne

J'ai bien compris ton problème. Mais avec ce que je te propose, tu peux ensuite  faire à peu près tout ce que tu veux:
par exemple, sélection de tronçons où C5 = 'C1'
ou encore
selection de tronçons où CA = 'Paris' or C1 = 'MArseille' puis avec un disolve regrouper les troncons qui ont le même identifiant (à condition que les tronçons identiques aient le même identifiant) .

Si tu as dix champs, ça te fais faire 10 conditions (IF THEN ELSE), c'est pas forcément plus long que de se creuser la tête pendant de longues heuressur un problème dont tu ne trouveras peut-être pas la solution!

Ce que tu désire réellement, je ne vois pas comment faire à part passer par de la programmation. Mais là je m'avance peut-être, quelqu'un te trouvera peut-être une solution.

Tiens nous au courant

PP


Pascal PLUVINET

Hors ligne

 

#7 Tue 29 July 2008 14:05

n314
Participant assidu
Date d'inscription: 6 Sep 2005
Messages: 697

Re: Arcmap : Récapituler un champ sur une ligne

Bonjour,
S'il s'agit d'une couche géographique et qu'à chaque enregistrement de la table correspond également un objet géographique, tenter un dissolve sur le champ shape ?

Hors ligne

 

#8 Tue 29 July 2008 15:13

rgis
Participant occasionnel
Date d'inscription: 5 Oct 2007
Messages: 31

Re: Arcmap : Récapituler un champ sur une ligne

Re,

Après plusieurs essais infructueux nous avons dc essayé de fusionner (dissolve) sur tous les champs de la table.

Ensuite une recap sur "Last"(dernier) sur les champs que l'on veut garder.
Plus qu'à joindre à la table..

..et le tour est joué!

Nous avons essayé que sur qq enregistrements. Nous nous attaquons maintenant à toute la table.
Je confirmerai quand même que cela a bien marché.

En tout cas merci pour vos réponses, nous nous sommes un peu trop pris le chou pour une solution simple comme tout.

Hors ligne

 

#9 Tue 29 July 2008 15:39

alban
Participant assidu
Lieu: Chizé
Date d'inscription: 16 May 2007
Messages: 156
Site web

Re: Arcmap : Récapituler un champ sur une ligne

Bonjour,

Personnellement, je pense que ce travail aurait du être fait en amont, dans un tableur.

Je propose donc d'ouvrir la table dans ton tableur favori, d'y faire ta récapitulation par ligne (la fonction "max()" fera l'affaire normalement) et ensuite de réintégrer la table par jointure de table avec ton identifiant (créé au préalable dans le SIG).

Sinon, dans ArcGis, une concaténation me semble préférable : [C1] & " " & [C2]... dans la calculatrice ArcGis. Il ne te reste plus ensuite qu'à supprimer les espace superflus... Mais je continue de penser qu'il est préférable de nettoyer au maximum les attributs avant de les intégrer dans un SIG.

Géomatiquement,

Alban

Hors ligne

 

#10 Tue 29 July 2008 16:01

rgis
Participant occasionnel
Date d'inscription: 5 Oct 2007
Messages: 31

Re: Arcmap : Récapituler un champ sur une ligne

Bonjour alban,

Nous avons en effet travaillé en amont sur excel pour alléger la table et nos données, mais après maintes bidouillages le résultat ne nous paraissait pas satisfaisant, des erreurs se produisaient sur certaines lignes.
Nous allons étudié la fonction "max()".

Sous ArcGis, la solution pour l'instant qui semble la plus plausible est celle de la fusion puis de la recap sur "le dernier".

Nous sommes sur le problème en ce moment, je vous tiendrai au courant si nous réussissons à terminer la couche...

Cdlt,

Régis

Hors ligne

 

#11 Wed 30 July 2008 20:51

alban
Participant assidu
Lieu: Chizé
Date d'inscription: 16 May 2007
Messages: 156
Site web

Re: Arcmap : Récapituler un champ sur une ligne

Bonjour rgis,

Excuse moi mais après avoir mieux regardé ton exemple, j´ai compris que j´avais mal répondu.

Je pense que ce que le résultat désiré, si tu le veux de façon automatique, nécessite un peu de programmation (par des boucles, ou des fonctions de certains langages qui renvoient les indices des valeurs répondant à un critère donné). Je ne vois pas de solution simple avec des requêtes (mais je peux me tromper).

En conclusion, la solution avec des fonctions "SI" me paraît la plus simple, dans Arcgis ou Excel.

Géomatiquement,

Hors ligne

 

Pied de page des forums

Powered by FluxBB