#1 Wed 09 April 2014 01:30
- jorddra13
- Juste Inscrit !
- Date d'inscription: 9 Apr 2014
- Messages: 2
Problème avec calculateur de champs
Bonjour à la communauté de GeoRezo!
Je suis totalement nouveau dans le monde des SIG, je fait présentement un cours de base qui se nomme ''Fondements des SIG''. Je suis présentement entrain de faire un projet et je bloque à quelque part et à voir la complexité des sujets parlés sur le forum, je doute aucunement que vous pourrez me donner un coup de main J'aimerais aussi spécifier que je ne suis pas venu ici pour prendre la voie facile. J'ai essayer plein de trucs par moi-même pour réussir à m'en sortir, mais malheureusement sans succès. C'est une question de programmation et c'est VRAIMENT pas mon fort! et les rubriques d'aide de ArcGIS ne sont pas top. Je travailles sur ArcMap 10.1 en français.
Bon je vous met en contexte :
J'ai une couche, avec une table attributaire. La table attributaire contient plein de champs. On me demande d'ajouter un nouveau champ à la table attributaire et d'y introduire des données en fonction de deux autres champs de la même table attributaire.
Le nouveau champ que j'ai créé = Ter_co_typ
Les deux champs à partir desquels je dois mettre à jour mon champ Ter_co_typ = SUPERFICIE et TOPONYME
Voici les consignes que j'ai à suivre :
#1 Toponyme débutant par lac et ayant une superficie plus grande que 8 hectares = Lac
#2 Toponyme débutant par rivière = Rivière
#3 Sélectionne toutes autres étendues d’eau (ruisseaux, étangs…) ayant ou n’ayant pas de toponyme et ayant une superficie de moins de 8 hectares = Petit lac
Voici un exemple de quoi devrait avoir l'air la structure de ma table attributaire (les champs en gras sont ceux qui étaient déjà dans ma table, alors que celle en italique est mon nouveau champ):
SUPERFICIE TOPONYME Ter_co_typ
2,26 Lac Beaudin Petit lac
14,04 Rivière Montmorency Rivière
44,95 Lac à l'Épaule Lac
1.37 (Pas de valeur) Petit Lac
Bon en gros, les enregistrements de mon champs Ter_co_typ sont ceux que je cherche, mais que je ne suis pas capable de faire.
Voici ce que j'ai essayé de faire, sans succès :
#3 Ouvrir une session de mise à jour (Editing)
#2 Clique droit sur mon nouveau champ et sélectionner ''Calculateur de champs...''
#3 C'est ici mon problème, je ne suis pas capable de trouver la bonne resquête SQL afin de répondre à mes consignes...
J'ai essayé, entre autre :
Ter_co_typ = ''Lac'' WHERE [TOPONYME] = ''Lac&'' AND [SUPERFICIE] > 8
Ter_co_typ = ''Rivière'' WHERE [TOPONYME] = ''Rivière&''
Pour la 3e consigne j'ai tout simplement aucune idée..
Et je me demande également comment faire pour combiner chaque requêtre pour en faire seulement une grosse qui répond aux trois consignes..
Bon je crois que ça fait le tour. J'espère vraiement que vous pourrez me donner un coup de main, comme je disais plus haut, LA PROGRAMMATION N'EST PAS MON FORT! Et désolé pour le long message..
Bonne journée à tous et paix,
Jordan
Hors ligne
#2 Wed 09 April 2014 02:37
- jorddra13
- Juste Inscrit !
- Date d'inscription: 9 Apr 2014
- Messages: 2
Re: Problème avec calculateur de champs
Dans le fond peut-être que je n'ai pas besoin du "Calculateur de champs"...
Est-ce que ça fonctionnerait si à l'aide de la fonction "Sélectionner selon les attributs" (qui est beaucoup plus user friendly que le calculateur de champs), je sélectionnais mes enregistrements selon mes consignes et ensuite je les chargeaient dans mon nouveau champ?
Ex avec ma première consigne :
À l'aide de l'outil "Sélectionner selon les attributs" je sélectionne tous mes enregistrements qui commence par "Lac" et qui ont une superficie supérieure à 8 hectares.
Est-ce qu'il y aurait un outil qui me permettrait de charger automatiquement la valeur "Lac" sous mon champs "Ter_co_ty" pour tous les enregistrements sélectionner?
Un petit oui ou non serait bien apprécier
Jordan
Hors ligne
#3 Wed 09 April 2014 10:16
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Problème avec calculateur de champs
Salut et bienvenue,
Voilà un code si tu veux quand même essayer avec du Vbscript:
Code:
Superf=[SUPERFICIE] Topo=[TOPONYME] If Topo = "Lac%" and Superf > 8 Then Resultat = "Lac" ElseIf Topo = "Rivière%" Then Resultat = "Rivière" ElseIf Topo <> "Rivière%" and Superf < 8 Then Resultat = "Petit lac" End If
Mettre ---> Resultat (dans le champ en dessous du code)
A+
Joël
Hors ligne