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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Thu 09 August 2018 23:37

Flobeee
Juste Inscrit !
Date d'inscription: 9 Aug 2018
Messages: 7

QGIS: Tampon variable en fonction d'une autre couche

Bonjour,

Habituellement, j'utilise QGIS pour une simple représentation de données et non pour du traitement, mes connaissances sont donc un peu limitées.

Je dispose de :
- une couche de points (correspondant à des colonnes à verre)
- une couche de carroyage de la population (insee, taille 200m).

Je cherche à faire un tampon (cercle) à partir de la couche de point, qui représenterait une population fixe de XX habitants (dans mon cas 250).
L'aire du tampon doit donc s'adapter à la surface couverte sur la couche population.

Pourriez vous me faire part de vos idées ? passage par Spatialite ? (idée de la requête ?)
(j'ai trouvé pas mal de sujet avec la démarche inverse, on fixe le tampon puis on calcule la population après intersection...)

Un grand merci,

Hors ligne

 

#2 Fri 10 August 2018 12:22

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1606

Re: QGIS: Tampon variable en fonction d'une autre couche

Bonjour,
Pourriez-vous être plus explicite?
"L'aire du tampon doit donc s'adapter à la surface couverte sur la couche population"?

Hors ligne

 

#3 Fri 10 August 2018 12:47

Flobeee
Juste Inscrit !
Date d'inscription: 9 Aug 2018
Messages: 7

Re: QGIS: Tampon variable en fonction d'une autre couche

Bonjour,

Un exemple (très simplifié): j'ai un point au centre d'un carré dont la population est de 500 habitants.
--> je souhaite que l'aire du tampon occupe 50% de l'aire du carré

Si j'ai un point seul dans la campagne, et que j'ai 2 carrés isolés mais dont la somme fait (comme par hasard) 250 habitants, je souhaite qu'ils soient tous les deux recouverts par l'aire du tampon.

Bien sur en zone urbaine, le tampon coupe une multitude de carrés différents (jusqu'à ce que la somme des aires sous le tampon "égale" 250 habitants).

J'espère avoir été clair.. ?

Hors ligne

 

#4 Fri 10 August 2018 14:17

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1606

Re: QGIS: Tampon variable en fonction d'une autre couche

Je ne sais si votre message est clair, mais je ne saisis pas trop. Quel est votre but?

Hors ligne

 

#5 Fri 10 August 2018 14:38

Flobeee
Juste Inscrit !
Date d'inscription: 9 Aug 2018
Messages: 7

Re: QGIS: Tampon variable en fonction d'une autre couche

Concernant les colonnes à verre, les préconisations eco emballages (maintenant Citeo) sont de 1 colonne pour 250 habitants pour notre territoire.

Faire un ratio à l'échelle communale m'indique le nombre théorique de colonne, mais je souhaitais aller plus loin (si c'est possible) pouvoir avoir une représentation (bornes existantes + simulations sur des futurs points).

Objectif : visualiser le maillage et la bonne desserte des colonnes à verre.

Hors ligne

 

#6 Fri 10 August 2018 15:41

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1606

Re: QGIS: Tampon variable en fonction d'une autre couche

Je crois que je commence à comprendre, mais c'est hardos ce que vous demandez!
Il faudrait faire un zone tampon de toutes les colonnes de verre pour identifier les carreaux qui ne sont pas intersectés ou entièrement intersectés, les sélectionner, les fusionner, en faire un centroïde et placer une nouvelle colonne à verre sur ce centroïde et voir la zone tampon couvre.

J'ai déjà réalisé une carte des Points d'apport volontaire verre sur mon interco mais à l'échelle des communes, cette carte donne une desserte moyenne d'une colonne à verre pour 253 hab. dans mon interco.

J'ai pu, par mon expérience, calculer la population couverte par les arrêts de transport de mon interco en utilisant comme maillage les carreaux 2010 de l'Insee (dont la mise à jour est prévue fin 2018).
J'effectue donc des zones tampon de 250 m et sélectionne les carreaux intersectés.
Si le carreau est entièrement inclus, alors je prends sa population en entier.
S'il n'est pas intersecté entièrement, je calcule la part de surface intersectée, part que j'applique sur sa population.
Cela donne en fait la population desservie par tous les arrêts d'une ligne de transport.

Mais il s'agit ici de votre fameuse démarche inverse.

Je ne sais si à mon tour je vous ai embrouillé...

Hors ligne

 

#7 Fri 10 August 2018 17:35

Flobeee
Juste Inscrit !
Date d'inscription: 9 Aug 2018
Messages: 7

Re: QGIS: Tampon variable en fonction d'une autre couche

oui l'idée est là !
pour l'instant je veux juste pouvoir le faire sur les points existants (pas besoin de la partie "centroïde")

Pour facilité la suite, ne faudrait il pas que chaque carré de population est une représentation en population / pixel ? (pour par la suite faire la somme des pixels contenus dans le tampon ?) en testant avec un tampon fixe, l'intersection me sort la population globale du carré et non un prorata en fonction de l'aire...


Est ce qu'un SQL permettrait de faire l'itération suivante ? (idée) :

En créant une variable R (=rayon) dans ma table de points (colonnes à verre)
Création du tampon à partir de R
Intersection avec la couche pop (représentée en pop / pixel)
Somme de la colonne "pop"
Si pop > 250 : R - 1 (ou autre)  ; si pop < 250 : R +1 sinon rien

Ca permettrait de se rapprocher du résultat souhaité ?

Hors ligne

 

#8 Mon 13 August 2018 10:56

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1606

Re: QGIS: Tampon variable en fonction d'une autre couche

En tout cas, pour calculer la population comprise dans un carreau dont la surface n'est pas entièrement recouverte par un tampon, j'ai calculé ainsi :
(Surface intersectée du carreau / Surface entière du carreau avant intersection)*(population du carreau avant intersection).
Cela donne la population du carreau après intersection.

Hors ligne

 

#9 Tue 14 August 2018 12:37

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: QGIS: Tampon variable en fonction d'une autre couche

Bonjour,

Est-ce que tu aurais moyen de spatialiser plus finement la population, même si c’est avec quelques hypothèses simplificatrices, par exemple en la répartissant dans les bâtiments ?

Les bâtiments ayant une population, et étant associés à un conteneur à verre (polygones de Voronoï + jointure spatiale, ou plus proche voisin par parcours de graphe), l’objectif serait alors de sélectionner pour chaque conteneur à verre, le minimum de bâtiment pour arriver à 250 habitants, en sélectionnant les bâtis les plus proches.

Il serait alors possible de tracer un cercle dont le rayon serait la distance du bâtiment le plus éloigné, et/ou colorer les bâtiments concernés par chaque colonne, et/ou faire un polygone englobant du groupe de bâtiments.

Une méthode classique pour peupler les bâtiments consiste à répartir la population des carreaux dans les bâtiments de la BD Topo au prorata de la surface habitable. La surface habitable est le produit de la surface au sol par le nombre d’étages (hauteur du bâtiment divisé par 3m). Evidemment, le résultat est à prendre avec beaucoup de pincettes, mais reste correct si on prend des décisions sur des ensembles, et pas sur des bâtis individuels. La méthode est détaillée en page 6 du guide national des analyses multi-critères sur les inondations : http://www.rrgma-paca.org/files/2014090 … ideAMC.pdf

Ces prétraitements faits, on obtient une table de la forme : (IdBati, Population, IdConteneur, DistanceBatiConteneur).

Si le nombre de bâtiments est raisonnable (quelques dizaines de millier max), tu peux travailler dans Excel avec des formules : Trier par conteneur puis par distance croissante.
PopCumulee=si(idconteneur=idconteneur_ligneprecedente, population+popcumulee_ligneprecedente, population)
UtiliseConteneur=si(popcumulee<=250, 1, 0)
BatiLePlusEloigne=si(utiliseconteneur==1 et utiliseconteneur_lignesuivante==0, 1, 0)

Si le nombre de bâtiments est trop important pour un tableur, il faut passer par R ou équivalent (fonctions order, tapply, cumsum).

Il y a au moins trois limites à cette méthode :
-    La précision de la répartition des populations,
-    La distance du bâtiment au conteneur, si ce n'est pas fait par parcours de graphe,
-    Si un conteneur est saturé, les bâtis rejetés ne chercheront pas un conteneur non-saturé à proximité.


Renaud Mouche

Hors ligne

 

#10 Mon 20 August 2018 09:04

Flobeee
Juste Inscrit !
Date d'inscription: 9 Aug 2018
Messages: 7

Re: QGIS: Tampon variable en fonction d'une autre couche

Bonjour Renaud,

Ca m'a l'air clair et envisageable, j'essaie cela dans la semaine !

Merci !

Hors ligne

 

Pied de page des forums

Powered by FluxBB