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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 wink

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

 

Pied de page des forums

Powered by FluxBB