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

Rencontres QGIS 2025

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

#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

 

Pied de page des forums

Powered by FluxBB