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

Printemps des cartes 2024

#1 Mon 03 April 2017 14:51

greg_g
Juste Inscrit !
Date d'inscription: 13 Jan 2017
Messages: 9

QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Bonjour à tous et merci d'avance pour votre aide et votre temps, j'ai passé un temps infini à chercher la réponse à mon problème mais sans succès.

Mon objectif est d'évaluer le nombre de ménages résidant à moins de 20 mn de voiture d'un point d'intérêt. J'utilise comme vous vous en doutez les données de recensement INSEE avec les Contours...IRIS de l'IGN.

La première étape ne me pose pas de problème : pour tracer mon isochrone, j'utilise le plugin d'Olivier Maury, qui sauf erreur de ma part est à ce jour l'outil le plus simple pour ce genre d'opération. J'obtiens une nouvelle couche avec un polygone.

C'est l'étape suivante qui me bloque : comptabiliser automatiquement le nombre de ménages (couche de données INSEE/IGN) vivant à l'intérieur de ce nouveau polygone situé sur une autre couche. A priori je sais le faire sous ArcGIS, mais comment procéder avec QGIS, avec lequel je travaille maintenant ?

Ma demande vise à comprendre comment faire ce calcul automatiquement. Car on pourrait envisager de sélectionner manuellement les IRIS contenus dans l'isochrone et de calculer une somme de leurs populations à l'aide des plugins statistiques classiques ; mais outre qu'il doit être possible de travailler de façon plus sûre, se pose le problème des IRIS appartenant en partie seulement à l'isochrone.

J'ai songé à clipper la couche des données de population avec celle de l'isochrone, en espérant pouvoir calculer, dans le cas des IRIS à cheval sur le polygone, la population au prorata de la surface contenue dans l'isochrone, mais soit ce n'est pas possible, soit je ne suis pas parvenu.

Si quelqu'un peut m'aiguiller, merci infiniment car je suis complètement bloqué !

Grégory


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

Hors ligne

 

#2 Mon 03 April 2017 15:29

fnixou
Participant actif
Date d'inscription: 22 Feb 2017
Messages: 82

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Bonjour greg j'ai eu un problème tout à fait similaire très récemment et je suis passé par postgis pour le résoudre à l'aide des fonctions de postgis
notamment st_intersect et st_area.

je te mets un exemple de requête qui correspond à peu de chose pres à ton besoin.

SELECT ID_ISO ,
SUM(t3.NBHAB) AS TOTHAB
FROM (SELECT t1.label as ID_ISO,
(ST_Area(ST_Intersection(ST_MakeValid(t1.geom), ST_MakeValid(t2.geom))))/ST_Area(t2.geom)*t2.iris_dat_1 as NBHAB
FROM "public"."PG_ISO_3" AS t1,
"public"."PG_IRIS_LAST" AS t2
WHERE st_intersects(t2.geom, t1.geom)) t3
GROUP BY ID_ISO


PS : il faudra très certainement adapter la requête mais l'idée est la

Hors ligne

 

#3 Mon 03 April 2017 15:33

greg_g
Juste Inscrit !
Date d'inscription: 13 Jan 2017
Messages: 9

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Merci beaucoup à toi, j'avoue que j'espérais pouvoir m'éviter l'investissement en temps que demande le passage sur un autre outil, mais sauf à ce que quelqu'un me propose une solution alternative 100% QGIS, je regarderai dès que j'aurai le temps pour.

Merci encore !

Hors ligne

 

#4 Mon 03 April 2017 16:19

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3807

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Bonjour,
Peut-être menu Vecteur --> Outils de gestion des données --> Joindre les attributs par localisation et utiliser la statistique somme.
Et comme ça ne découpe pas afin de faire des agrégations à la proportionnelle, il faudra faire la découpe des iris au préalable (vecteur --> Outils de géotraitement --> Union) et calculer dans un nouveau champ de la couche résultante les nouvelles populations (proratisées). C'est cette couche qui sera jointe spatialement.

Pour info, le modeleur de l'outil Traitement peut vous permettre de construire un enchainement des traitements. http://docs.qgis.org/2.14/fr/docs/user_ … deler.html

Hors ligne

 

#5 Mon 03 April 2017 17:47

greg_g
Juste Inscrit !
Date d'inscription: 13 Jan 2017
Messages: 9

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Bonjour,

Merci beaucoup, je vais tester cela et vous faire un retour dès que possible.

Je reste bien entendu preneur de toute autre idée à tester, si cela peut permettre de valider et d'en faire profiter tout le monde.

Hors ligne

 

#6 Tue 04 April 2017 03:20

Maca
Juste Inscrit !
Date d'inscription: 24 Jul 2015
Messages: 3

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Bonjour,

J'ai songé à clipper la couche des données de population avec celle de l'isochrone, en espérant pouvoir calculer, dans le cas des IRIS à cheval sur le polygone, la population au prorata de la surface contenue dans l'isochrone, mais soit ce n'est pas possible, soit je ne suis pas parvenu.


pour faire ça, tu peux essayer de la manière suivante :

- découpe tes polygones à l'aider de l'outil intersection
- ajoute un champ "pourcentage surface", que tu vas calculer avec un produit en croix, en utilisant le champ "surface" de tes iris et la formule $area pour obtenir la surface des iris découpés (outil calculatrice de champ)
- ajoute un champ "estimation population", que tu vas calculer en appliquant le pourcentage obtenu ci-dessus à la population totale de l'iris (outil calculatrice de champ)

Si tu as besoin de faire ça pour plusieurs isochrones, toutes ces étapes sont automatisables via le modeleur graphique (équivalent qgis du modelbuilder)

Je précise que si cette méthode est très simple à mettre en place, les résultats obtenus peuvent être assez grossiers (surtout dans le cas d'iris étendus avec des densités de population variables). Si tu as accès aux données carroyées de l'Insee, tu pourras obtenir des résultats plus précis. Sinon je sais qu'il existe des méthodes statistiques pour estimer plus finement des populations à l'intérieur d'un iris, mais je n'ai jamais fait ça donc aucune idée de ce que ça vaut ni de comment les mettre en pratique.

Hors ligne

 

#7 Tue 04 April 2017 08:35

greg_g
Juste Inscrit !
Date d'inscription: 13 Jan 2017
Messages: 9

Re: QGIS: Comment calculer la population à l'intérieur d'une isochrone ?

Merci pour la piste. J'ai les carreaux INSEE mais ce sont des jeux de données plus pénibles à mettre en oeuvre - fichiers dépassant les capacités d'un tableur - que les données à l'IRIS, qui une fois jointes aux Contours...IRIS de l'IGN sont d'une utilisation facile.

De toute façon, par définition, on ne peut pas être précis à 100% sur ce coup là, mais je cherche quelque chose d'un peu plus rapide et plus fiable méthodologiquement que la méthode un peu artisanale qui est la mienne actuellement (méthode qui me permet tout de même d'obtenir des estimations très proches de celles proposées par d'autres, qui travaillent avec des logiciels directement orientés cartographie décisionnelle et proposant des fonctionnalités ad hoc).

Hors ligne

 

Pied de page des forums

Powered by FluxBB