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 Thu 01 February 2018 14:08

ORANGE mélanie
Juste Inscrit !
Date d'inscription: 30 Jan 2018
Messages: 2

QGIS: réalisation d'une carte défense incendie

Bonjour,

Je voudrais savoir si il y a un moyen de créer des lignes de longueurs égales à partir d'un point, sachant que ces lignes doivent passer par des routes.

Ceci est à réaliser dans le but de dessiner une carte de défense incendie, il faut donc, à partir de chaque poteau incendie, délimiter un périmètre de 400 ou 200 m sachant que chacun de ces périmètres est déterminé par les routes que peuvent emprunter les pompiers. Nous devons établir les zones couvertes et les zones non couvertes par les différents poteaux incendie.

Je cherche donc une méthode rapide, automatisée afin de ne pas avoir à tracer chaque ligne à la main.

Je suis novice sur QGIS, je n'ai aucune connaissance en programmation.
Merci beaucoup par avance pour votre aide

Hors ligne

 

#2 Thu 01 February 2018 18:48

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS: réalisation d'une carte défense incendie

Bonjour

C'est possible avec la boite a outils traitement et la commande GRASS v.net.iso

Avec un paramétrage simple, vos PEI d'un coté et un filaire de voie de l'autre (type bdtopo), vous pouvez obtenir une carte de couverture incendie.
Dans le fichier produit, les categorie "cat" correspondent à ce que vous indiquez dans la boite de paramétrage "cost for isoline"
le 1 correspond a votre première valeur (200m)
le 2 à la seconde valeur (400m)
le 3 au reste (supérieur a 400m)
dans votre exemple.

voir http://www.ing.unitn.it/~Grass/docs/tut … node5.html pour aller plus loin.

Cordialement

Dernière modification par Benoit91 (Thu 01 February 2018 18:50)


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

Hors ligne

 

#3 Fri 02 February 2018 11:46

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: QGIS: réalisation d'une carte défense incendie

Aloha,

Je rebondis sur la réponse de Benoit. Est-il possible d'utiliser pour la variable "costs" (costs=1000,2000,5000) les valeurs d'attributs de mes hydrants ? In extenso, sur chacun de mes hydrants, j'ai une valeur de pression qui indique s'ils couvrent 150, 200 ou plus.

D'avance, merci


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#4 Fri 02 February 2018 12:07

ORANGE mélanie
Juste Inscrit !
Date d'inscription: 30 Jan 2018
Messages: 2

Re: QGIS: réalisation d'une carte défense incendie

Merci pour ces informations, ça a l'air de bien fonctionner. Je suis également intéressée par la réponse à la question de Pierre.
Cordialement,

Hors ligne

 

#5 Fri 02 February 2018 13:00

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS: réalisation d'une carte défense incendie

Bonjour Pierre

Il me semble que c'est possible, mais je n'ai pas testé.
Dans la boite paramètre v.net.iso dans "paramètres avancés" il y a l'option "Node cost column".

Sinon, il faut filtrer les PEI en fonction de leur pression et adapter les plages du paramètre "costs for isolines".

Cordialement.

Hors ligne

 

#6 Fri 02 February 2018 18:56

vincentp
Participant actif
Lieu: Paris
Date d'inscription: 18 Jul 2006
Messages: 127

Re: QGIS: réalisation d'une carte défense incendie

Bonjour,

En alternative, c'est possible de le faire avec une requête PostGIS. Cela permet d'appliquer plus finement les conditions de suivi topologique, ainsi que les conditions d'arrêt en fonction des attributs de chaque hydrant ( distance, pression, conditions sur la voirie, etc).

C'est une CTE récursive, qui permet le parcours d'un réseau topologique, et ensuite donne la zone concernée avec un buffer sur les géométries des voies.

Cette présentation donne la requête et des explications sur la problématique ( à partir de la slide 35) :
https://github.com/Oslandia/presentatio … patial.pdf

Un exemple complet de requête récursive est donné ci-dessous. En combinant les éléments de la présentation, la requête complète ci-dessous avec vos données cela devrait être possible d'avoir un résultat global de carte de couverture incendie en une requête PostGIS.

Code:

-- La requete recursive (on met les resultats dans une table)
-- Cette requete recherche tous les chemins possibles a partir d'un troncon
-- donne en suivant les troncons dans leur sens naturel (de la source a la target).
drop table rec_res;
create table 
    rec_res as 
with recursive 
    -- la CTE
    search_graph(id, target, depth, path, cycle) as (
        -- Initialisation
        -- on part d'un troncon specifique
        select 
            g.id, g.target, 1 as depth, ARRAY[g.id] as path, false as cycle 
        from 
            edge_table as g 
        where 
        -- mettre ici les conditions des troncons initiaux desquels on part
            source = 6
        union all
        -- Partie récursive
        select
            g.id
            -- on a besoin de garder la target pour pouvoir jointurer a la prochaine iteration
            , g.target
            -- on incremente la profondeur a chaque iteration
            , sg.depth + 1 as depth
            -- on ajoute le troncon en cours dans le chemin deja parcouru
            , path || g.id as path -- l'opérateur || permet d'ajouter la valeur au tableau
            -- on calcule la longueur du chemin au fur et a mesure
            --, sg.length + g.length as length
            -- on verifie si on est deja passe par ce troncon
            , g.id = ANY(path) as cycle
        from
            -- la table qu'on jointure : c'est le graphe (au format pgrouting)
            edge_table as g
        join
            -- la CTE
            search_graph as sg
        on
            -- on jointure la CTE et edge_table pour se déplacer dans le graphe
            -- nos chemins sont crees en avancant dans le sens naturel des troncons
            -- on ne revient donc pas en arriere
            sg.target = g.source
        where
            -- on ne prend pas en compte les eventuels cycles
            not cycle
        -- si on veut s'arrêter dans la propagation il faut ajouter des conditions ici. Par exemple sur l'attribut length ( voir dans la présentation)
)
select 
    -- tous les champs de la CTE
    sg.*
    -- on renvoie egalement la geometrie pour pouvoir visualiser dans qgis
    -- pour cela on jointure avec la table du graphe
    , edge_table.the_geom
from
    -- La CTE
    search_graph as sg
join
    edge_table
on
    sg.id = edge_table.id
-- on limite toujours les resultats pour ne pas avoir de boucle infinie meme
-- si on s'est trompe dans les criteres d'arret
limit 10000;

Hors ligne

 

Pied de page des forums

Powered by FluxBB