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

State Of The Map 2024

#1 Wed 17 November 2010 16:12

Dwhant
Juste Inscrit !
Date d'inscription: 13 Sep 2010
Messages: 9

[MI 9] Mettre à jour un champ en fonction d'un autre

Bonjour à tous,

Je viens vous voir pour un petit souci, j'ai une table avec un champ numérique sur laquelle je souhaite me baser pour créer un autre champ numérique.

Par exemple, toutes les valeurs de 0 à 3 dans ma colonne d'origine prendront la valeur 0 dans ma nouvelle colonne, toutes les valeurs de 4 à 7 prendront la valeur 1 et ainsi de suite.

J'ai, à petite échelle, toujours extrait mes résultats sous excel pour trier par colonne et mettre à jour manuellement, mais je souhaiterais savoir comment faire sous MapInfo sans avoir à me coltiner cela sur un plus grand nombre de données.

Je suppose qu'il y a du "IF" dedans mais je ne maitrise malheureusement pas...

Merci de votre aide.

Dwhant.

Hors ligne

 

#2 Wed 17 November 2010 16:49

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: [MI 9] Mettre à jour un champ en fonction d'un autre

Bonjour

Il y a une façon facile mais elle doit être faites pour toutes les classes.
Vous sélectionnez vos données de 0 à 3, et vous mettez à jour le résultat de cette première sélection.
Dans SÉLECTION : Origine >= 0 et Origine <= 3 donne un query 1
Mettre à jour colonne de query 1 et mettre 0 dans  nouvelle colonne.

Daniel


De retour à la géomatique

Hors ligne

 

#3 Wed 17 November 2010 19:16

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [MI 9] Mettre à jour un champ en fonction d'un autre

Salut,

Il y a beaucoup de classes du genre 0 à 3, 4 à 7, 8 à 11 etc...
Celà va jusqu'à combien?
En te donnant le départ:

Code:

Select * from Table where Champs1>=0 and Champs1<=3 into Sel1
Update Sel1 Set Champs2=0

Ce processus peut s'automatiser en utilisant un générateur de script et en utilisant des variables:

Code:

Select * from Table where Champs1>=XXXX and Champs1<=YYYY into SelZZZZ
Update SelZZZZ Set Champs2=AAAA

Pour générer toutes tes requètes --> utilisation du générateur de script --> Scriptgen
Voilà le lien --> http://rictrem.com/Scriptgen.aspx
J'ai posté pas mal d'exemples sur le forum --> Faire une recherche avec "scriptgen" ou "générateur de script" comme mot clef.
Ne pas hésiter à utiliser l'aide du logiciel qui donne quelques exemples d'utilisation.
Une précision encore --> les requètes ainsi obtenues sont à placer dans la FMB -> Fenêtre MapBasic
--> Options --> voir Fenêtre MapBasic
PS:Ca peut marcher sans le "If"
A+
Joël

Dernière modification par Spacejo (Wed 17 November 2010 19:19)

Hors ligne

 

#4 Fri 19 November 2010 11:14

Dwhant
Juste Inscrit !
Date d'inscription: 13 Sep 2010
Messages: 9

Re: [MI 9] Mettre à jour un champ en fonction d'un autre

Salut, merci de l'indication, je n'avais pas penser à chercher avec ces mots clés, je vais me pencher sur la question.

Je dois monter jusqu'à 12 classes environ (mon champ de départ va jusqu'à 25), je cherche en fait, à partir de la BDTopo à déterminer le nombre d'étages d'un bâtiment. Le but étant d'en calculer la SHON que j'obtiens en multipliant l'emprise au sol par le nombre de niveau et en y applicant un coefficient réducteur de 0,85.

Par exemple, si le bâtiment fait 4 mètres ou moins, j'estime qu'il y a un niveau d'habitation, 6.5 ou moins, 2 niveaux et ainsi de suite par paliers de 2.5 m... 

Ce calcul me permet par la suite, à l'aide de la BD Parcellaire, d'obtenir un Coefficient d'Occupation des Sols qui me permet de comparer avec les COS mentionnés dans les PLUs. Le but étant de savoir si un zonage PLU possède un potentiel de densification ou non.

Actuellement, je le fais à petit échelle de manière manuelle sur des zones précises, mais j'aimerais automatiser la démarche afin d'avoir mes résultats sur toutes les zones du territoire sur lequel je travaille.

Je vais regarder de plus près et reviens vers vous quand j'aurais avancé. Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB