Pages: 1
- Sujet précédent - ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre - Sujet suivant
#1 Fri 23 January 2009 16:29
- sekar
- Participant occasionnel
- Lieu: Alma, Québec
- Date d'inscription: 1 Dec 2006
- Messages: 39
ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Bonjour
je voudrais savoir comment calculer la somme de tous les enregistrements d'un champs afin de pouvoir l'inscrire dans un autre champs.
Ex: Source Resultat
5 21
2 21
3 21
8 21
3 21
Merci et bonne journée
Ministère des ressources naturelles et de la faune
801 avenue du pont Taché nord
Alma, Québec, Canada
Hors ligne
#2 Mon 26 January 2009 17:24
- sekar
- Participant occasionnel
- Lieu: Alma, Québec
- Date d'inscription: 1 Dec 2006
- Messages: 39
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Bonjour à tous,
J'ai écris vendredi, à propos du calcul de la sommation d'un champs. J'ai vu que plusieurs avaient lu le message mais personne n'a répondu. Je me demande donc si la question a été bien comprise ou si cela est possible. Je vais donc préciser ma demande.
J'aimerais savoir s'il est possible d'obtenir une expression, permettant d'inscrire dans un champs la somme des valeurs d'un autre champs. Ce, dans le but d'obtenir ce resultat.
Ex: Source Resultat
5 21
2 21
3 21
8 21
3 21
J'ai essayé avec un .cal de easycalculate 5.0 obtenu sur le site de ET SpatialTechnique. Il s'agit de field_CumulateValues.cal. Voici l'expression
Code:
'========================= 'field_CumulateValues.cal 'Author: Ianko Tchoukanski 'http://www.ian-ko.com '========================= Static rec As Long Static dSum As Double Dim sourceField '================= 'adjust the source field name below sourceField = [A] '================= If (rec = 0) Then dSum = sourceField Else dSum = sourceField + dSum End If rec = rec + 1
Mon problème est que le résultat n'est pas tout à fait ce que je cherche. en voici un exemple.
Source Résultats obtenus Résultats Souhaités
5 5 21
2 7 21
3 10 21
8 18 21
3 21 21
Pouvez vous m'aider.
Merci d'avance et bonne journée.
Dernière modification par sekar (Mon 26 January 2009 17:28)
Ministère des ressources naturelles et de la faune
801 avenue du pont Taché nord
Alma, Québec, Canada
Hors ligne
#3 Tue 27 January 2009 11:13
- Fabien.Krzewinski
- Participant occasionnel
- Date d'inscription: 19 Aug 2008
- Messages: 18
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Salut,
Tout d'abord, pourrais-tu préciser si une solution en VBA te conviendrait sinon sous quelle autre forme ?
Fabien
Hors ligne
#4 Tue 27 January 2009 13:44
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Hello,
Solution manuelle : clic droit sur la colonne /statistiques regarder la somme.
Solution ArcToolbox via Statistics analysis (Analysis Tools), tu dois pouvoir récupérer tes infos via la création d'une table, peut être ?
Je ne connais pas la traduction en français, n'ayant pas installé l'extension.
En script, un exemple d'utilisation de cet outil donné par l'aide :
Code:
#Purpose: Determine the area by vegetation type within 100 meters of all stream crossings # Create the Geoprocessor object import arcgisscripting gp = arcgisscripting.create() try: # Set the workspace (to avoid having to type in the full path to the data every time) gp.Workspace = "c:/projects/RedRiverBasin/data.mdb" # Process: Find all stream crossings (points) gp.Intersect("roads ; streams ", "stream_crossings", "#", 1.5, "point") # Process: Buffer all stream crossings by 100 meters gp.Buffer("stream_crossings","stream_crossings_100m", "100 meters") # Process: Clip the vegetation feature class to stream_crossing_100m gp.Clip("vegetation", "stream_crossings_100m", "veg_within_100m_of_crossings") # Process: Summarize how much (area) of each type of vegetation is found within 100 meter of the stream crossings [b]gp.Statistics("veg_within_100m_of_crossings", "veg_within_100m_of_crossings_stats","shape_area sum","veg_type")[/b] except: # If an error occurred while running a toolprint the messages print gp.GetMessages()
Hors ligne
#5 Tue 27 January 2009 14:03
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Bonjour à tous
Je vais dans la direction de Robin, première intervention, dans les staitisques, trouver le nombre et le placer dans la colonne. "Simple is beautiful".
Autre solution, si possible, ouvrir le DBF dans Excel, dans la colonne B (colonne de sommation) faire =somme(A2:Ax). Resauver en DBF.
Je me permet ce petit commentaire. Pourquoi y'a rien de simple dans ArcGIS. Un simple calcul de somme et mettre le résultat dans une colonne prends des proportions incroyables!!!!!
Daniel
De retour à la géomatique
Hors ligne
#6 Tue 27 January 2009 14:32
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Hello,
Bizarrement, je me dis que programmationnellement (hum), il doit y avoir moyen de récupérer la variable "Somme" qui est dans le récapitulatif par colonne, mais bon..
Sinon, je rajoute que l'outil précité permet aussi de regrouper les calculs par champ à la manière d'un "Récapituler" ou "Summarize".
Plus d'infos (en anglais)
http://edndoc.esri.com/arcobjects/9.2/N … alysis.htm
et
http://webhelp.esri.com/arcgisdesktop/9 … 0a%20table
Robin.
Hors ligne
#7 Tue 27 January 2009 14:52
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Hello,
... programmationnellement ...
Il n'est pas dans mon dictionnaire celui-là
Daniel
De retour à la géomatique
Hors ligne
#8 Tue 27 January 2009 15:07
- sekar
- Participant occasionnel
- Lieu: Alma, Québec
- Date d'inscription: 1 Dec 2006
- Messages: 39
Re: ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre
Bonjour et merci pour vos réponses.
Ce que je voudrais, c'est une expression de type .cal, un peu comme celle que j'ai obtenue avec easycalculate 5.0 sur le site de ETSpatialTechnique. Ceci est dans le but d'intégrer ça à un Modelbuilder pour simplifier la tâche au maximum pour un grand nombre d'utilisateurs extrêmement débutant.
Pour ce qui est de Statistic Analysis j'ai déjà fait des tests avec ça. Le problème est qu'une fois la table obtenue, avec le résultat souhaité, je n'ai pas trouvé le moyen de joindre cette nouvelle table au fichier d'origine. L'outils Jointure ne fonctionne qu'avec des Layers ou des tables. Il ne fonctionne pas si la couche n'est pas chargée dans ArcMap.
C'est pourquoi une expression de type .cal est vraiment souhaitable, à la fois solide, rapide et efficace.
Merci encore et bonne journée
Sébastien K.
Dernière modification par sekar (Tue 27 January 2009 15:08)
Ministère des ressources naturelles et de la faune
801 avenue du pont Taché nord
Alma, Québec, Canada
Hors ligne
Pages: 1
- Sujet précédent - ArcGIS 9.2 - Calculer la sommation d'un champs dans un autre - Sujet suivant