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é ?

#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é wink [/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

Transport urbain a écrit:

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 ??


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

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

Spacejo a écrit:

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 :

Transport urbain a écrit:

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

Marc a écrit:

...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 sad
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 big_smile)
J'aurais bien voulu savoir si l'opérateur Intersects donnait quelque chose entre ses 2 tables et sinon pourquoi sad

Hors ligne

 

Pied de page des forums

Powered by FluxBB