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 Thu 17 May 2012 16:54

glamcerise
Participant occasionnel
Date d'inscription: 17 May 2012
Messages: 10

selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Bonjour à tous,

Je suis actuellement en train de travailler sur les occupations du sol de la ville de Venelles pour ensuite caractériser les pollutions que l'on va retrouver dans la riviére en aval ... Voilà pour le décor ;p

Je suis allée sur le terrain afin de relever les différentes occupation du sol (ods) de la ville en coloriant mes cartes. J'ai en gros 10 catégories d'ods (urbain, agricole ...). Jusqu'à là tout va bien. Maintenant je dois tout retracer sur MapInfo. C'est là que ca se complique pour moi:

- Sur ma carte (géolocalisée...) sur MapInfo évidemment, j'ai déjà représenté des bassins-versants (des zones qui recroivent toutes la ville sans se recouper ... comme des quartiers par exemple)
- Ces zones peuvent contenir une ou plusieurs ods.
- J'ai créé une table dans laquelle j'ai assimilée mes sous-bassins à leur superficie et d'autres info ... (table "données") en faisant une "jointure" entre mes sous-BV et une table excel dans laquelle j'ai tout plein d'informations à renseigner pour mes sous-bassins.
- Maintenant je dois remplir dans cette table les colonnes correspondant au pourcentage d'ods pour chaque sous-bassin.

Je ne vois pas comment je peux faire, car en tracant mes ods j'obtiens une table (remplie manuellement) du style:

ods sous_BV
urbain 23
urbain 24
urbain 25
agricole 23
agricole 24
autre 24
autre 25

(bien sûr ceci n'est qu'un exemple).

Comment obtenir:

ods(urbain) dans sous_BV "24" = **%
et ceci pour tous mes sous-bassin et toute mes occupations du sol??

A titre d'info, ma table "données" dans excel est du style:

sous-bassin surf_BV ods1 ods2 ods3 ....
1 23.00
2 1.36
. .
. .
. .


Je vous joins aussi une "illustration" de ce que donne la carte en question (TRES schématique).

Voilà. J'espère que vous aurez des idées pour m'aider!!
Merci à tous. n'hésitez pas à me demander plus d'informations.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Fri 18 May 2012 13:08

sylviaamar
Participant occasionnel
Lieu: Marseille
Date d'inscription: 29 Aug 2006
Messages: 22

Re: selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Bonjour,

Il vous suffit de créer une ligne par bassin versant dans votre table. Il vous faudra ensuite créer une colonne par type d'occupation du sol (en format flottant), puis de remplir chaque case avec le pourcentage de chaque ods correspondant pour chaque bassin versant,

        cordialement,

Sylvia Amar.

Hors ligne

 

#3 Sun 20 May 2012 15:29

glamcerise
Participant occasionnel
Date d'inscription: 17 May 2012
Messages: 10

Re: selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Oui, mais le problème c'est que je dois calculer ce pourcentage d'ods (occupation du sol) avec les surfaces de ces ods que j'ai numérisé (mises à jour dans la colonne superficie de la table ods).

En gros j'ai les données suivantes:
- table sous_BV -> superficie sous-BV
- table ods -> superficie des ods (sachant que dans un sous_BV je peux avoir plusieurs polygones représentant une même ods (mais localiser ailleurs géographiquement ...) et donc plusieurs superficie pour cette ods alors qu'il ne m'en faut qu'une seule par ods (somme des mêmes ods présente dans le sous_BV).

Et je veux:
- le pourcentage d'occupation du sol (ods) = [somme(superficie ods1 du sous_BV)]/superficie du sous_BV
- idem pour ods2, 3, ... 10 et pour les 35 sous_BV

Pour faire touts ces calculs manuellement, au cas par cas j'en ai pour des siècles.

J'ai lu sur un tutoriel qu'il existé une commander pour "grouper" des lignes ou colonnes. Je ne m'en suis pas encore servie. Est ce que cette manipulation peut me permettre de passer
d'une table du style:                                                             à une table du sytle:

ods               sous_BV             superficie                             ods               sous_BV             superficie
1                       1                          10                                  1                      1                       10
1                       2                           3                                   1                      2                        3
3                       2                           4                                   3                      2                       4+1=5
3                       2                           1
2                       2                           2                                   2                      2                         2   
1                       3                           4                                   1                      3                         4
2                       3                           1                                   2                      3                        1+7=7
2                       3                           6


A partir de cette table "simplifiée", où pour chaque sous-BV j'ai une seule superficie pour chaque ods, je peux facilement calculer le pourcentage d'ods. (Avec jointure de tables et requette SQL).

Par contre je dois appliquer la fonction "grouper" aux 2 colonnes ods et sous_BV!! Cette action se fait en 2 fois où je peux le faire en une seule fois en rentrant les 2 tables dans la case prévue à cet effet?


Désolé si je ne suis pas très clair ... Je ne suis que 'très" débutent sur MapInfo, et je dois trouver des solutions à mes problème à l'aide d'un bouquin ... pas facil.

Merci pour vous participations en tout cas!!

PS: je vous re-joins une illustration tres simplifiée des sous_BV et des ods ... pour ceux qui ne voient pas trop ce que ca représentent.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Sun 20 May 2012 17:57

sylviaamar
Participant occasionnel
Lieu: Marseille
Date d'inscription: 29 Aug 2006
Messages: 22

Re: selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Bonjour,

Il vous faut faire une requête SQL pour cela. Allez dans le menu sélection -> sélection SQL. Dans l'encart table, sélectionnez le nom de votre table. Dans l'encart grouper, sélectionnez d'abord la colonne ods, puis sous_bv. Enfin, dans l'encart colonne, choisissez les colonnes ods, sous_bv, puis allez dans agréger choisissez sum() et à l'intérieur sélectionnez superficie. Placez-vous après la virgule, et sélectionnez toutes les autres colonnes nécessaires. Enregistrez ensuite le query obtenu et n'oubliez pas de l'ouvrir ensuite dans mapinfo,

                    cordialement,

Sylvia Amar.

Hors ligne

 

#5 Sun 20 May 2012 22:41

glamcerise
Participant occasionnel
Date d'inscription: 17 May 2012
Messages: 10

Re: selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Merci! Je vais essayer d'appliquer ça demain. Je vous tiens au courant.
Bonne soirée.
Cordialement

Hors ligne

 

#6 Tue 22 May 2012 22:17

glamcerise
Participant occasionnel
Date d'inscription: 17 May 2012
Messages: 10

Re: selection SQL, table ... Comment obtenir les données dont j'ai besoin?

Pour le groupage de colonne c'est bon! mercii

Hors ligne

 

Pied de page des forums

Powered by FluxBB