Pages: 1
- Sujet précédent - ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs - Sujet suivant
#1 Tue 18 March 2008 10:08
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Bonjour,
Je cherche Ă faire une manip sur une table mais sans succĂšs pour le moment.
VoilĂ ci-joint un exemple type. Il s'agit de regrouper les lignes (Dissolve) ayant le mĂȘme ET_ID avec la Length MAX et surtout l'Azimuth correspondant!
L'outil Dissolve me permet bien de regrouper les ET_ID et les Length Max mais pas forcĂ©ment de rĂ©cupĂ©rer l'Azimuth se trouvant sur la mĂȘme ligne...
Sans doute qu'il faut faire un code VBA mais s'il existe des scripts, astuces ou outils déjà ... Par avance, merci
Hors ligne
#2 Tue 18 March 2008 10:32
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Hello,
Juste une question pour prĂ©ciser ta question, je reformule pour ĂȘtre sĂ»r : tu veux regrouper les lignes ayant le mĂȘme ET_ID.
Ensuite tu veux y adjoindre la longueur : de quoi ? du tout ou de la polyligne la plus longue ?
Et tu veux aussi l'azimuth : de quoi ? de chaque polyligne, de la somme, du max ou l'azimuth globale de la polyligne créee ?
Hors ligne
#3 Tue 18 March 2008 12:40
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Bonjour Robin,
Il s'agit bien de regrouper les lignes ayant le mĂȘme ET_ID, en choississant comme attributs la longueur la plus longue (MAX) dans la colonne Length, ET aussi en choississant l'azimuth correspondant (qui n'est pas forcĂ©ment le MAX ni le MIN dans la colonne Azimuth!). Pas Ă©vident ! Merci
Hors ligne
#4 Tue 18 March 2008 12:52
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Tu peux essayer de faire une jointure de table à partir de Lenght Max aprÚs le dissolve. Si tes données Lenght sont variées et trÚs précises (x,xxxxxx), il y peu de chance qu'il te manque des infos aprÚs la jointure.
Vincent
Hors ligne
#5 Tue 18 March 2008 12:54
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Merci, quelqu'un m'a suggĂ©rĂ© la mĂȘme idĂ©e sur le forum ESRI, mais hĂ©las seul 6 records passent Ă la jointure... sur des centaines !
Hors ligne
#6 Tue 18 March 2008 13:36
- vipere
- Participant actif
- Date d'inscription: 23 Jan 2008
- Messages: 100
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
bonjour,
je ne suis pas sur d'avoir bien compris, mais si tu crées un nouveau champ dans lequel tu concatÚnes les 3 valeurs sur lesquelles tu veux faire ton dissolve, et qu'aprÚs tu lance ton dissolve sur ce champ commun, ça pourrait pas marcher?
Hors ligne
#7 Tue 18 March 2008 13:58
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Merci, quelqu'un m'a suggĂ©rĂ© la mĂȘme idĂ©e sur le forum ESRI, mais hĂ©las seul 6 records passent Ă la jointure... sur des centaines !
Tu aurais un extrait ? Si tes longueurs sont trop prĂ©cises, c'est bizarre, par contre si elle sont trop imprĂ©cises (des segments ont la mĂȘme longueur), il suffit de multiplier par 1000 pour avoir une longueur suffisamment unique.
Hors ligne
#8 Tue 18 March 2008 14:06
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Voilà un jeu de données. Ce sont des rectangles qui sont convertis en polylignes. C'est du WGS84 car les longueurs et azimuths sont calculés sur l'ellipsoide pour s'approcher du vrai (et non en projetés). Merci
Hors ligne
#9 Tue 18 March 2008 14:19
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Tiens, avant que je teste ton jeu de données, une autre idée. J'ai testé avec des lignes bidons, ca semble marcher.
Soit un shape-source Poly.shp et une shp agrégé Diss.shp
1. Tu fais ton dissolve avec Length, fonction stat max..
2. Tu fais une jointure via ET_ID entre les deux shapes (Poly.shp et Diss.shp)
3. Tu créé un nouveau champ LM (Length Max) dans Poly.shp
4. Tu renseignes ce champ [LM] avec la valeur du champ joint [Diss].Length_Max
5. Toutes les identitĂ©s de mĂȘme ET_ID ont maintenant la mĂȘme valeur de LM
6. Tu sĂ©lectionne les entitĂ©s oĂč [LM] = Length (Ă ajuster jusqu'Ă ce que ca marche)
7. Tu crée un nouveau champ Azimuth_LM
8. Tu le renseigne avec la valeur d'Azimuth uniquement pour les entités sélectionnées
Ca doit donner quelque chose comme ça
[img]http://img98.imageshack.us/img98/9158/lmld7.jpg[/img]
9. Tu relance ton dissolve en cochant ET_ID et LM et tu met dans le champ de stat Azimuth avec la fonction somme.
C'est tarabiscotĂ© et ca revient un peu au mĂȘme mais ca te permet d'ajuster l'Ă©tape 7 jusqu'Ă ce que ca marche.
Robin.
Hors ligne
#10 Tue 18 March 2008 14:35
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Toujours pas! C'est le mĂȘme principe et la jointure sur les champs Length ne passe pas. Seulement 6 dans mon jeu de donnĂ©es Data Sample !
Faire une "formule Ă©galitĂ©" sur des nombres dĂ©cimaux n'est pas forcĂ©ment facile et efficace car il se peut qu'il y ait des arrondis quelque part... Franchement, des puristes me recommanderaient une macro VBA mais c'est dommage pour un problĂšme qui parait si simple ! Peut-ĂȘtre qu'il existe des outils qui me faciliterait la tĂąche, c'est pour cela que j'ai postĂ© sur Georezo. Mais lĂ ...
Merci toutefois.
Hors ligne
#11 Tue 18 March 2008 14:36
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Re,
AprĂšs test, mon conseil : multiplie ton champ length par 100 dans un nouveau champ de type entier et recommence la manip.
J'ai remarqué que ton champ longueur est plus précis que le champ créé par le dissolve, ce qui fait que certaines entités ne sont pas sélectionnées.
Ci joint le résultat de la manip avec les azimuth des troncons max.
Robin.
Hors ligne
#12 Tue 18 March 2008 15:11
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs
Merci !
La technique fonctionne bien cette fois-ci. Tout est question de la précision des champs Double, c'est exact. Je vais m'en sortir maintenant...
Hors ligne
Pages: 1
- Sujet précédent - ArcView 9.2 SP4 - Faire un Dissolve en conservant des attributs - Sujet suivant

