Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !

10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …

Faire un don 

Retrouver nos membres bienfaiteurs

#1 Tue 25 August 2015 14:59

Dreutch
Juste Inscrit !
Date d'inscription: 25 Aug 2015
Messages: 3

Calculateur de champs

Bonjour à tous, je géolocalise  et renseigne des milliers d'arbres urbains et leur donne une valeur patrimoniale.
Pour cela je multiplie 4 champs entre eux avec la calculatrice c'est simple donc pas de problème.
Mais vu la quantité de données à taper je voudrai qu'un champ se remplisse automatiquement via quelque lignes de programmation (je sais pas faire) du style:
Si champs "circonférence" =50 alors champ "indice circonférence" =2,4 et cela pour circonférence de 30 à 139.

Merci de votre aide.

Hors ligne

 

#2 Wed 26 August 2015 09:38

JulienRscl
Participant occasionnel
Lieu: Lyon
Date d'inscription: 23 May 2013
Messages: 26

Re: Calculateur de champs

le plus simple est de mettre un curseur en place de ce type là :

Code:

import arcpy

couche="Nom_de_votre_couche"
champs=('circonference','champ_utile2','champ_utile3','champ_utile4') #liste des champs utiles à notre traitement

with arcpy.da.UpdateCursor(couche, champs) as cursor :
    for row in cursor :
        if row[0]==50 :   #indice 0 pour aller cherche le premier champ de notre liste de champ rempli au dessus
            indicecirconférence=2,4
        if row[0]==60 :
            indicecirconféréence=2,6
        if .... #faire cela pour toutes vos valeurs

        #Puis calcul de votre champ  de récapitulation

        row[3]=row[1]*row[2]*indicecirconférence
        cursor.updateRow(row)
    del cursor

Si besoin, je suis disponible par mail.

Bonne journée

Hors ligne

 

#3 Wed 26 August 2015 13:51

Dreutch
Juste Inscrit !
Date d'inscription: 25 Aug 2015
Messages: 3

Re: Calculateur de champs

Merci, j'essaie ce programme dès que possible et vous tiens informé.

Hors ligne

 

#4 Thu 27 August 2015 09:37

Dreutch
Juste Inscrit !
Date d'inscription: 25 Aug 2015
Messages: 3

Re: Calculateur de champs

Bonjour Julien, bon! j'avoue que je suis une buse en programmation. J'ai essayé un tas de choses avec votre programme mais sans succès.
Puis-je vous envoyer une copie de mon shape pour que ce soit plus parlant.

Merci d'avance

ddedecker@texte-a-enlever.ville-dunkerque.fr

Hors ligne

 

#5 Thu 27 August 2015 14:38

JulienRscl
Participant occasionnel
Lieu: Lyon
Date d'inscription: 23 May 2013
Messages: 26

Re: Calculateur de champs

Oui bien sur. Mon adresse mail est logiquement accessible dans mon profil sinon la voici :
julienrascle@texte-a-enlever.yahoo.fr

Hors ligne

 

Pied de page des forums

Powered by FluxBB