#1 Thu 23 May 2013 10:52
- Oulau24
- Juste Inscrit !
- Date d'inscription: 23 May 2013
- Messages: 2
Arcgis - calculer l'occurrence d'une donnée
Bonjour,
Je travaille actuellement sur l'occupation des sols à l'échelle parcellaire (d'un bassin versant).
Dans ma table, j'ai
- en colonne : chacun des hivers de mon échelle de temps.
- en ligne: chaque parcelle.
Chaque occupation du sol a un code (ex: sol nu=code 4)
Cela me donne un tableau comme ceci :
ID_parcelle Hiver 1 Hiver 2 Hiver 3 .....
1 4 5 4 ....
2 2 3 4 ....
3 1 2 4 ....
Je voudrais savoir comment je peux calculer l'occurrence du "4" pour chaque ligne, dans une colonne à part, intitulée "Occurrence".
Je ne sais pas quelle fonction utiliser.
Merci par avance de votre aide
Hors ligne
#2 Thu 23 May 2013 12:45
- lebon henri
- Participant actif
- Lieu: Vendée
- Date d'inscription: 14 Jan 2008
- Messages: 99
Re: Arcgis - calculer l'occurrence d'une donnée
ID_parcelle Hiver 1 Hiver 2 Hiver 3 occurrence 1 occurrence 2 occurrence 3 occurrence 4 occurrence 5
1 4 5 4 0 0 0 2 1
Salut, c'est un résultat comme ci-dessus que tu veux ? Si c'est le cas c'est faisable en arcpy. Tu es en quel version ?
Hors ligne
#3 Thu 23 May 2013 13:05
- Oulau24
- Juste Inscrit !
- Date d'inscription: 23 May 2013
- Messages: 2
Re: Arcgis - calculer l'occurrence d'une donnée
Non, en fait il ne faut qu'une seule colonne, dans laquelle apparait le nombre de "4" pour tous les hivers.
Ce que je cherche équivaut à la fonction nb.si sur excel, si ça peut aider ...
Ca doit donner un tableau comme celui-ci :
ID_parcelle Hiver 1 Hiver 2 Hiver 3 ..... Occurence
1 4 5 4 .... 2 (=nombre de 4)
2 2 3 4 .... 1
3 1 2 4 .... 1
Hors ligne
#4 Thu 23 May 2013 13:38
Re: Arcgis - calculer l'occurrence d'une donnée
Bonjour,
Basiquement, je pense que tu peux tester une requête de ce type éventuellement sur un nouveau champ, à mettre dans le bloc de code et mettre i dans le résultat
Dim i
i = 0
if [Hiver 1] = 4 then
i =i+1
end if
if [Hiver 2] = 4 then
i =i+1
end if
if [Hiver 3] = 4 then
i =i+1
end if
...
PS : c'est pas très élégant mais ça marche
Hors ligne
#5 Thu 23 May 2013 14:31
- lebon henri
- Participant actif
- Lieu: Vendée
- Date d'inscription: 14 Jan 2008
- Messages: 99
Re: Arcgis - calculer l'occurrence d'une donnée
même principe en python (arcgis 10.1)
Code:
import arcpy with arcpy.da.UpdateCursor("ma_couche", ("Hiver 1", "Hiver 2", "Hiver 3", "Occurence")) as cursor: for row in cursor: x = 0 if row[0] == 4: x = x + 1 if row[1] == 4: x = x + 1 if row[2] == 4: x = x + 1 row[3] = x cursor.updateRow(row)
Hors ligne