#1 Tue 21 July 2009 23:14
- yoyo35
- Juste Inscrit !
- Date d'inscription: 21 Jul 2009
- Messages: 8
[MapInfo version 8.0] calcul d'une somme
Bonjour,
j'ai une table dans laquelle sont répertoriés tous les polygones, un code permet de les différencier
(ex: zone urbanisée, type "u"; zone boisée, type"b"). J'aimerai afficher dans cette table ou dans une autre, un champs dans lequel je trouverais la surface totale de la zone urbanisée et de même pour la zone boisée. Comment faire? Merci d'avance!
Hors ligne
#2 Wed 22 July 2009 06:34
- Bruno MELI
- Participant occasionnel
- Lieu: Le Tampon - Réunion
- Date d'inscription: 7 Apr 2008
- Messages: 46
- Site web
Re: [MapInfo version 8.0] calcul d'une somme
bonjour,
Pour obtenir ce résultat il faudra créer une nouvelle table car il y a aggrégation des données via une sélection SQL.
Dans cette requête :
- la table est votre table avec les différentes zones
- les colonnes de sortie sont la colonne "type" et une colonne calculée qui est la somme des surfaces des objets de la table soit sum(area(obj,"hectares"))"surf_par_type"
- ne pas oublier d'indiquer la colonne "type" dans grouper par colonnes
- préciser le nom de la table résultat
et le travail est fait
BM
Hors ligne
#3 Wed 22 July 2009 09:32
- yoyo35
- Juste Inscrit !
- Date d'inscription: 21 Jul 2009
- Messages: 8
Re: [MapInfo version 8.0] calcul d'une somme
Bonjour,
merci pour cette réponse qui m'éclaire mais j'ai encore quelques difficultés.. Dans ma table j'ai donc un champs "type" mais aussi un champs nommé "_COL2" dans lequel se trouve la surface correspondand à chaque polygone. Vous l'avez bien compris ce que je veux, c'est selon chaque "type", avoir un nouveau champ me calculant la surface totale de ce "type" (zone urbanisée et zone boisée).
J'ai donc ouvert une requête SQL. Dans tables, j'ai mis le nom de ma table, dans colonnes : j'ai mis "type" et "_COL2", est ce bien celà?
puis dans critères, je suis un peu perdu..j'ai tenté de mettre quelque chose comme:
Sum(Area(obj, "sq m")) mais à chaque fois il me met que la variable ou le champs Sum est non défini..
Je vous remercie encore pour votre aide!
Hors ligne
#4 Wed 22 July 2009 10:09
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [MapInfo version 8.0] calcul d'une somme
Salut yoyo,
Tout d'abord il te faut faire deux requètes pour avoir tes éléments boisés d'une part et tes éléments urbanisés.
---->
Code:
Select * from Ta_Table where Type like "u" into Mes_éléments_Urbanisés
---->
Code:
Select * from Ta_Table where Type like "b" into Mes_éléments_Boisés
Puis tu appliques ta requète de somme sur chacunes d'elles
En espérant t'aider
A+
Joël
Hors ligne
#5 Wed 22 July 2009 10:22
- yoyo35
- Juste Inscrit !
- Date d'inscription: 21 Jul 2009
- Messages: 8
Re: [MapInfo version 8.0] calcul d'une somme
Un grand merci! Débutant, je coinçais depuis de nombreuses heures sur MapInfo..vous ne pouvez pas savoir ma joie et ma reconnaissance Joel
Bonne journée!
Hors ligne
#6 Wed 22 July 2009 10:56
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [MapInfo version 8.0] calcul d'une somme
Re,
Pour être plus rapide ---> Bruno avait raison:
Dans Sélection SQL ---> Mettre ---->
Colonnes ----> Typ, Sum(area(obj,"hectare")) ----> "hectare" ou "sq km" pour Km²
Table ----> Ta_Table
Group by ---> Typ
Into ----> Mes_Surfaces
A+
Joël
Hors ligne
#7 Wed 22 July 2009 11:46
- Bruno MELI
- Participant occasionnel
- Lieu: Le Tampon - Réunion
- Date d'inscription: 7 Apr 2008
- Messages: 46
- Site web
Re: [MapInfo version 8.0] calcul d'une somme
ce n'est pas tout à fait cela !
Si la surface de chaque objet est dans une colonne ("_col2" par exemple)
alors il suffit d'indiquer dans les colonnes de sorties : type, sum(_col2)
[c'est ce que j'appelle une colonne calculée]. A ce propos il faut bien
comprendre qu'en voulant faire une somme on agrège les données (la fonction
somme est d'ailleurs une fonction d'agrégation) c'est à dire qu'on ne pourra
plus avoir les données relatives à chacun des objets donc si donc les
colonnes de sorties vous mettez _COL2 vous n'aurez qu'une seule valeur qui
sera la première lue mais en aucun cas la somme.
Sinon il faut faire la somme des surfaces à partir de la fonction qui
retourne la surface de l'objet soit dans les colonnes de sorties :
type,Sum(Area(obj, "sq m"))
Dans le cas d'espèce il n'y a pas de critère particulier donc ça reste vide.
Et encore une fois, ne pas oublier de regrouper par colonne "type" sinon
vous aurez la surface totale de vous vos objets sans distinction par type
J'espère être suffisamment clair.
Bruno MELI
Hors ligne
#8 Wed 22 July 2009 11:46
- Bruno MELI
- Participant occasionnel
- Lieu: Le Tampon - Réunion
- Date d'inscription: 7 Apr 2008
- Messages: 46
- Site web
Re: [MapInfo version 8.0] calcul d'une somme
Réponse à Joël
Ce n'est pas indispensable de passer par des sélections préalables (boisés,
urbanisés, ...)
Le paramètre "group by" c'est à dire grouper par colonne permet la
distinction en fonction de la valeur de "type"
Bruno MELI
Hors ligne
#9 Mon 20 August 2012 14:46
- o'dod
- Juste Inscrit !
- Date d'inscription: 4 Dec 2010
- Messages: 1
Re: [MapInfo version 8.0] calcul d'une somme
Bonjour Bonjour,
Je démarre sur MapInfo et connait un petit souci concernant le calcul des surfaces sur le logiciel.
J'ai essayé de faire ce qui est dit précédemment sans succès. J'ai toujours comme message d'erreur "variable ou champ sum non défini". J'ai vu que d'autres personnes conseillé de faire avec des select mais la encore même réponse du logiciel "non défini".
Pour info, je travaille sur des PLU et j'aimerais par exemple faire la somme des surfaces pour chaque type de zone.
Merci merci !!
Hors ligne