Pages: 1
- Sujet précédent - Calculer la population concernée par un périmètre d'étude - Sujet suivant
#1 Wed 27 August 2008 17:04
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Calculer la population concernée par un périmètre d'étude
Bonjour,
il me faut calculer la population de différents périmètres d'études
je possède les données INSEE
j'ai commencé par dessiner mes périmètres sur Mapinfo dans une nouvelle table.
Mon idée était par une requête SQL isoler les ilôts de population concernés par le périmètre et ensuite faire la somme du nombre d'habitants des ilôts.
J'ai tenté plusieurs requêtes mais pas de résultats.
Que dois-je faire maintenant?
Hors ligne
#2 Wed 27 August 2008 17:48
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Calculer la population concernée par un périmètre d'étude
Bonjour
Données INSEE = table graphique des ilots avec la population de chaque ilot en attribut ??
Hors ligne
#3 Thu 28 August 2008 08:38
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Oui
je pense que j'ai tout ce qu'il faut, il me manque juste la formule magique pour ne conserver que les ilôts concernées par le périmètre
Aidez moi?
Hors ligne
#4 Thu 28 August 2008 09:18
- Marc
- Membre
- Lieu: Lorient
- Date d'inscription: 24 Jun 2005
- Messages: 988
Re: Calculer la population concernée par un périmètre d'étude
Bonjour,
As tu essayé une requete graphique du type "perimetre.obj intersect ou in ilot.obj" ?
ou plutot ilot.obj in perimetre.obj
et si tu veux séléctionner de maniere différentié les ilots pour chaque perimétre, selection du perimetre 1 puis ilot.obj in selection.obj, etc ...
Je n'ai pas mapinfo sous la main donc les terme ne sont peut être pas tout a fait exact, mais tu dois pouvoir t'en sortir comme ça.
Marc
Dernière modification par Marc (Thu 28 August 2008 09:22)
Marc ROSSI
Hors ligne
#5 Thu 28 August 2008 09:37
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Bonjour tout le monde,
Pour Transport urbain: Les entités îlots sont ils des points ou des polygones?
Si les îlots sont des points:
Requète---->
Code:
Select * from ta_table_ilots where ilots.obj within perimètres.obj into Selection
Tu auras ainsi dans "Selection" tous les points qui sont à l'interieure de tes périmêtres d'étude
Si les ilots sont des polygones il faut jouer avec "within", "entierly within"
Un lien sympa pour requète SQL
http://geo.maumet.free.fr/sql/sql.htm
En espèrant que cela t'aide
A+
Joël
Hors ligne
#6 Thu 28 August 2008 11:42
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Calculer la population concernée par un périmètre d'étude
Bonjour
Pour rajouter une colonne temporaire à la table perimetre, taper dans la FMB (où utiliser le dialogue "menu Table->Mise à jour colonne):
Add Column "perimetre" (Pop_Perimetre Float) From ilots Set To proportion sum(Pop_ilot) Where intersects Dynamic
En gras les paramètres à adapter: nom des tables et des colonnes existantes, nom à donner à la colonne temporaire
Hors ligne
#7 Thu 28 August 2008 14:31
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
merci pour vos réponses, elles me confortent dans ma méthode mais chou blanc!!!
Pour Spacejo : les ilôts sont bien des polygones
et effectivement très sympat le lien vers les requêtes SQL, simple et compréhensible pour des utilisateurs ponctuels de Mapinfo
dans mes diverses tentatives de requêtes, j'ai essayé l'ensemble des fonctions Within, Contains......
et pas de résultats
Le problème vient peut être de la structure de mes tables?
Quelles informations doivent se trouver dans ma table "périmètre"
pour le moment j'ai une colonne pour le nom du périmètre et une colonne qui contiendra la somme des habitants des ilôts concernés
Hors ligne
#8 Thu 28 August 2008 14:45
- Marc
- Membre
- Lieu: Lorient
- Date d'inscription: 24 Jun 2005
- Messages: 988
Re: Calculer la population concernée par un périmètre d'étude
Question bete peut etre, mais as tu vérifié que ta table ilot est séléctionnable ?
Marc ROSSI
Hors ligne
#9 Thu 28 August 2008 14:54
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Oui elle l'est
quand je clique sur un ilôt, il se sélectionne, je peux en faire ce que je veux.
Hors ligne
#10 Thu 28 August 2008 14:58
- Marc
- Membre
- Lieu: Lorient
- Date d'inscription: 24 Jun 2005
- Messages: 988
Re: Calculer la population concernée par un périmètre d'étude
Autre question, tes périmétres sont bien des polygones et pas des polylignes ?
Marc ROSSI
Hors ligne
#11 Thu 28 August 2008 14:59
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Oui c'est moi qui les aie tracé et j'ai fais des polygones
Hors ligne
#12 Thu 28 August 2008 15:24
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Salut,
peux tu nous envoyer une de tes requètes?
Encore une question, avec ma requète les différents ilots sélectionnés sont dans la table "Sélection"---->into Selection
As tu ouvert cette table (si ce n'est pas le cas : Fenêtre--->Données (ouvrir Selection)
A+
Joël
Hors ligne
#13 Thu 28 August 2008 16:04
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Voilà une de mes requêtes:
Select * From Iliris_CANCA2, périmètres_vélos Where périmètres_vélos.obj Contains Iliris_CANCA2.obj Into Selection
La syntaxe est correcte
message final: "Aucun enregistrement n'est selectionné"
Hors ligne
#14 Thu 28 August 2008 16:10
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Re,
Là tu ne vas pas avoir ce que tu veux car cette requète va te donner des périmètres et non des ilots.
Il faut vraiment utiliser le within ------> Iliris_CANCA2.obj within périmètres_vélos.obj
As tu fais ---->Fenêtre--->Données (ouvrir Selection)
Est ce que la table Selection est présente?
A+
Hors ligne
#15 Thu 28 August 2008 16:21
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Re,
Une question, oû places tu la requète SQL?
Dans Sélection--->SélectionSQL (boite de dialogue de sélection SQL) ou utilises tu la Fenêtre Mapbasic?
A+
Hors ligne
#16 Thu 28 August 2008 16:26
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
avec within c'est pareil
là je viens juste de le refaire et j'ai toujours le même message à la fin et la table Selection n'est pas présente
Hors ligne
#17 Thu 28 August 2008 16:32
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Re,
dans la boîte de dialogue SQL
je n'ai jamais utilisé la fenêtre MapBasic
Hors ligne
#18 Thu 28 August 2008 16:36
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Re,
Attention car la boite de dialogue SQL dispense de marquer le Select, le From, et le Where.
Je dis cela car sur un autre forum j'ai eu le cas d'une personne qui mettais ces instructions dans la boite de dialogue ;-)
A+
Joël
Hors ligne
#19 Thu 28 August 2008 16:39
- Transport urbain
- Juste Inscrit !
- Date d'inscription: 27 Aug 2008
- Messages: 9
Re: Calculer la population concernée par un périmètre d'étude
Oui je sais
c'était juste pour que vous compreniez bien ma requête
Hors ligne
#20 Thu 28 August 2008 16:41
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Re,
Au fait quel est ton message d'erreur?
A+
Joël
Hors ligne
#21 Thu 28 August 2008 16:42
- Marc
- Membre
- Lieu: Lorient
- Date d'inscription: 24 Jun 2005
- Messages: 988
Re: Calculer la population concernée par un périmètre d'étude
Essaye la meme requete avec le within sans le into selection
Ca te permettra deja de voir si la requete fonctionne
[apparté] les accents dans les noms de couches ... c'est bien pour l'orthographe, mais pour la compatibilité [/apparté]
Marc ROSSI
Hors ligne
#22 Thu 28 August 2008 16:47
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Salut Marc,
Ma requète au départ était faite pour une fenêtre Mapbasic et avec la boite de dialogue SQL le "into Selection" est déjà
présent.
A+
Joël
Hors ligne
#23 Thu 28 August 2008 16:51
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Oui c'est bien cela.
Je viens de regarder: Le Select, le From , le Where, le Group By, le Order By et le Into sont déjà présent dans la requète
avec la boite de dialogue SQL
A+
Hors ligne
#24 Thu 28 August 2008 17:05
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Calculer la population concernée par un périmètre d'étude
Select * From Iliris_CANCA2, périmètres_vélos Where périmètres_vélos.obj Contains Iliris_CANCA2.obj
message final: "Aucun enregistrement n'est selectionné"
C'est peut être normal...
Il y a 7 opérateurs géographiques (voir fichier joint)
objetA Contains objetB objetA contient le centroïde de objetB
objetA Contains Part objetB objetA contient en partie objetB
objetA Contains Entire objetB objetA contient entièrement objetB
objetA Within objetB le centroïde de objetA est dans objetB
objetA Partly Within objetB une partie de objetA est dans objetB
objetA Entirely Within objetB objetA est entièrement dans objetB
objetA Intersects objetB les 2 objets se rencontrent
Et ma propositon d'ajout de colonne temporaire (qui se remettra à jour à chaque ouverture du WOR) elle va pas ??
Hors ligne
#25 Fri 29 August 2008 09:46
- Marc
- Membre
- Lieu: Lorient
- Date d'inscription: 24 Jun 2005
- Messages: 988
Re: Calculer la population concernée par un périmètre d'étude
C'est peut être normal...
Tout a fait, c'est pour cela que je te propose de lancer ta requete sur l'ensemble de tes périmétres et pas uniquement sur la selection d'un seul. Ta requete semble bonne, donc si lancée sur l'ensemble de la couche elle ne retourne rien, il faudrait peut être peut etre examiner de plus pres tes couches.
Marc ROSSI
Hors ligne
#26 Fri 29 August 2008 09:51
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Calculer la population concernée par un périmètre d'étude
Salut tout le monde,
Ce qui pourrait faire avancé le schmilblick, c'est que transport urbain nous envoie son message d'erreur
avec within c'est pareil
là je viens juste de le refaire et j'ai toujours le même message à la fin et la table Selection n'est pas présente
A+
Joël
Hors ligne
#27 Fri 29 August 2008 10:10
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Calculer la population concernée par un périmètre d'étude
Ce qui pourrait faire avancé le schmilblick, c'est que transport urbain nous envoie son message d'erreur
Il l'a indiqué dans son poste d'hier à 16:04, et ce n'est pas un message d'erreur :
Voilà une de mes requêtes:
Select * From Iliris_CANCA2, périmètres_vélos Where périmètres_vélos.obj Contains Iliris_CANCA2.obj Into Selection
La syntaxe est correcte
message final: "Aucun enregistrement n'est selectionné"
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#28 Fri 29 August 2008 14:56
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Calculer la population concernée par un périmètre d'étude
...Ta requete semble bonne, donc si lancée sur l'ensemble de la couche elle ne retourne rien, il faudrait peut être peut etre examiner de plus pres tes couches.
J'ai supposé qu'il s'agissait de l'ensemble des couches: Iliris_CANCA2 = tous les ilots et périmètres_vélos.obj = tous les périmètres
Je suppose aussi que les deux sont des tables et qu'aucun n'est une couche dessin
Mais le choix de l'opérateur peut être non judicieux si on est dans un cas particulier où aucun périmètre ne contient de centroïde d'ilot !??
Alors il vaut mieux utiliser Contains Part ou carrément Intersects...
Hors ligne
#29 Fri 05 September 2008 16:41
- didier.bondyfalat
- Participant occasionnel
- Lieu: Nice
- Date d'inscription: 31 Jan 2007
- Messages: 31
Re: Calculer la population concernée par un périmètre d'étude
Bonjour,
Je suppose que les périmètres ne coïncident pas avec les iris de l'INSEE. Je pense qu'il faut prendre pour hypothèse que les IRIS possède une population répartie de manière uniforme, alors la population concernée sera calculée comme la somme des populations au pourata des surfaces de l'IRIS à l'intérieur des périmètres.
Je donne un exemple avec tab1 la table des périmètres avec au moins un champ identifiant ID et tab2 la table des iris de INSEE avec au moins une champ population POP.
Code:
SELECT tab1.ID, sum(area(overlap(tab1.obj,tab2.obj),"sq m")/area(tab2.obj,"sq m")*tab2.pop) FROM tab1, tab2 WHERE tab1.obj intersects tab2.obj GROUP BY tab1.ID
Hors ligne
#30 Fri 05 September 2008 17:32
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Calculer la population concernée par un périmètre d'étude
Certes, certes...mais le problème c'est que depuis le 29/08 Transport urbain est en grève (ça arrive souvent )
J'aurais bien voulu savoir si l'opérateur Intersects donnait quelque chose entre ses 2 tables et sinon pourquoi
Hors ligne
Pages: 1
- Sujet précédent - Calculer la population concernée par un périmètre d'étude - Sujet suivant