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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Le portail retrouve peu à peu ses fonctionnalités.

Les listes ne fonctionnent pas mais nous mettons tout en oeuvre pour les réactiver rapidement.

Si vous avez pris contact avec l'association (petite enveloppe en haut/droite), sachez que nous lisons vos messages mais que les mails ne partent pas (#bug).

Ne soyez pas surpris si vous ne recevez pas de réponse.

#1 Thu 01 August 2019 08:21

SIGstud_V
Membre
Date d'inscription: 10 Jul 2019
Messages: 3

Calculateur de champ avec condition multiple

Bonjour,

je dois créer un champ à partir d'un autre sur ArcMap, mais je ne maîtrise ni le VBscript, ni python. Mon problème est le suivant :

J'ai une [colonne X] dont les valeurs sont des chaines de caractères sous cette forme "X.X.X.X", je cherche à calculer un nouveau [champ Z] de sorte que:
si le début de la chaine de la [colonne X] = "X.X" alors [champ Z] = "rocher",
si le début de la chaine = "A.X et X.A" alors [champ Z] = "pelouse",
si le début de la chaine = "A.A" et alors [champ Z] = "sable",
etc... il y a environ 5 conditions identiques.

Je voulais savoir si quelqu'un avait un script à me proposer, car je ne connais pas les mots clefs ni la typo à respecter.

Merci beaucoup!

Hors ligne

 

#2 Fri 02 August 2019 14:37

carteq
Membre
Lieu: Côte-Nord, Québec
Date d'inscription: 8 Mar 2008
Messages: 616

Re: Calculateur de champ avec condition multiple

Plusieurs solutions ici : https://community.esri.com/thread/21689


Vincent Fréchette
Responsable de la géomatique
Boisaco inc.

Hors ligne

 

#3 Wed 07 August 2019 11:13

SIGstud_V
Membre
Date d'inscription: 10 Jul 2019
Messages: 3

Re: Calculateur de champ avec condition multiple

merci bien,

malheureusement les scripts ne sont pas corrects j'ai toujours un message d'erreur : "syntaxe incorrect" ou "caractère incorrect"... j'ai essayé les différents scripts en changeant la typo quand ça ne marchait pas, et avec des champs plus simples, mais rien ne marche.
Et je ne sais toujours pas comment sélectionner seulement les 2 premiers caractères dans la chaine et non la chaine entière...

Hors ligne

 

#4 Fri 09 August 2019 16:28

s10
Membre
Lieu: France
Date d'inscription: 28 Nov 2018
Messages: 9

Re: Calculateur de champ avec condition multiple

Dans la calculatrice de champs tu coches bien "Code de script Pre-Logic" ?

Avec ca puis dans la case "Code de script" :

Code:

Dim Variable
If [TONCHAMP]="1" Then
Variable= "a"
End If

et en dessous dans le champ sur lequel tu as calculé :
TOTO =
Variable


Aussi, si tu as un champs en texte mets bien les guillemets et inversement en nombre il en faut pas

Code:

If [NUMERO] = 1 Then
If [NOMDEVILLE] = "Paris" Then

En espérant que ça t'aide,

Hors ligne

 

#5 Mon 12 August 2019 11:32

SIGstud_V
Membre
Date d'inscription: 10 Jul 2019
Messages: 3

Re: Calculateur de champ avec condition multiple

ça a marché! \o/    smile
J'ai rentré ce script dans le bloc de code pré-logic :
il fallait juste penser à créer une variable au préalable ("niv_sensi" ici) de type chaine et de longueur suffisante sinon ça bloque le calcul.

Dim niv_sensi
If [Int_Hab] = -998 Then
niv_sensi = "Nulle"
ElseIf [Int_Hab] = -999 Then
niv_sensi = "Nulle"
ElseIf [Int_Hab] = 0 Then
niv_sensi = "Nulle"
ElseIf [Int_Hab] = 1 Then
niv_sensi = "Nulle"
ElseIf [Int_Hab] = 2 Then
niv_sensi = "Faible"
ElseIf [Int_Hab] = 4 Then
niv_sensi = "Moyen"
ElseIf [Int_Hab] = 5 Then
niv_sensi = "Fort"
End If


Et dans la fenêtre du calcule de champ :
sensi =
niv_sensi


Donc ça m'a bien aidé! Merci Beaucoup!
A bientôt!

Hors ligne

 

#6 Tue 13 August 2019 11:43

Eckmül
Membre
Date d'inscription: 5 Feb 2019
Messages: 3

Re: Calculateur de champ avec condition multiple

Tu peux aussi utiliser les sous-type de champs dans ArcCatalog pour faire correspondre un code ? une description plus explicite :

Cr?er une GDB de toute tes couches, va dans propri?t?s de la couche dans la GDB, puis dans sous-types puis "domaines"

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |