#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: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
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: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
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: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
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: 706
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
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
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