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 Mon 14 November 2005 17:30

yvan
Juste Inscrit !
Date d'inscription: 14 Nov 2005
Messages: 2

SQL : somme de valeurs associés a des points, compris dans un polygone

Salut,
j'utilise (un peu) mapinfo, mais je suis une chèvre avec les requetes SQL.
J'ai une couche avec des points (village, population..)
une couche avec des polygones.

Je voudrais simplement faire une somme des populations des villages compris dans chaque polygone...c'est pas sorcier mais j'arrive pas.

Qq un pourrait il m'aider, avec des mots simples svp !!

merci merci

yvan.

Hors ligne

 

#2 Mon 14 November 2005 19:10

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: SQL : somme de valeurs associés a des points, compris dans un polygone

il s'agit d'effectuer une selection avec un group by, pour associer tous les points contenus dans le même polygone, et en obtenir la somme

Détail de la commande
select id_polygone , sum (pop_village)
choix des collones à afficher (les id_polygone doivent être unique pouyr que celà fonctionne par polygone)

from couche_polygone, couche_village
de la couche polygone et de la couche village

where couche_polygone.obj contains couche_village.obj
Lien entre les deux tables pour associé un enregistrement.
Il faut que le point de la couche village soit compris dans le polygone de la couche polygone pour pouvoir associé les deux enregistrements

group by id_polygone
ce qui permet de regrouper tous les résultats par polygone
note: les champs indiqués dans le group by doivent être ceux présents dans la sélection, ne pas mettre dans la sélection un champ de polygone non inscris ici

Cela nous donne :
select id_polygone, sum (pop_village) from couche_polygone, couche_village where couche_polygone.obj contains couche_village.obj group by id_polygone;

Si celà a put être utile

Damien BEAUSEIGNEUR

Hors ligne

 

#3 Tue 15 November 2005 08:36

yvan
Juste Inscrit !
Date d'inscription: 14 Nov 2005
Messages: 2

Re: SQL : somme de valeurs associés a des points, compris dans un polygone

oui, oui, ca m'est utile et en plus ca marche. Donc merci
yvan

Hors ligne

 

#4 Tue 15 November 2005 12:04

Jean-Baptiste Raynaud
Invité

Re: SQL : somme de valeurs associés a des points, compris dans un polygone

Bonjour,

La requête que tu veux faire est de type "Group By",
tu dois donc grouper les données de la table points par une colonne de ta
table polygone.

Dans le requêteur SQL de MAP ta requête doit donc avoir la forme suivante:

Colonne:Identifiant_polygone,sum(village_population)=> la somme de la
population des villages
tables:village, table_polygone
critères:vilage.obj within table_polygone.obj
Grouper par colonne:Identifiant_polygone

Si tu veux le nombre de village dans un polygone c'est count(*)...


Jean-Baptiste Raynaud

 

#5 Tue 15 November 2005 12:05

fgasc
Juste Inscrit !
Lieu: Beaugency
Date d'inscription: 9 Sep 2005
Messages: 8

Re: SQL : somme de valeurs associés a des points, compris dans un polygone

Sans avoir à passer par une requete SQL :

Menu "Table>Mettre à jour colonne"
table à mettre à jour = polygones
prendre valeurs dans table = points
colonne à mettre à jour = Ajouter une colonne temporaire
calculer = somme
de = nombre d'habitants

La jointure se définissant de la manière suivante (en cliquant sur le bouton "jointure"):
deuxième radio bouton :"où l'objet de la table POINT est A L'INTERIEUR DE
l'objet de la table POLYGONE"

Florent GASC
Assistant à la Direction du Développement Agricole
SOSUCAM
Yaoundé Cameroun

Hors ligne

 

Pied de page des forums

Powered by FluxBB