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

#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 wink
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

 

Pied de page des forums

Powered by FluxBB