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 Sat 09 March 2024 22:58

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

QGIS: calcul emprise d un polygone + polyligne

bonsoir
je souhaite créer l'emprise de deux éléments appartenant à deux couches, une polygone et une polyligne
ils sont relier par un id identique
je peux faire l'emprise e chaque élément, mais comment faire l'emprise du couple polygone-polyligne
merci Lj

Hors ligne

 

#2 Sun 10 March 2024 08:43

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul emprise d un polygone + polyligne

j'ai cette formule qui me permet de calculer l'aire globale de cette emprise depuis la première couche
mais comment créer l'emprise elle même ?

area(     
    make_polygon(         
        make_line(           
            make_point(
                if((x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< x_min( $geometry), (x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), x_min( $geometry)),
                if((y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< y_min( $geometry), (y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), y_min( $geometry)) ),
            make_point(
                if((x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< x_min( $geometry), (x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), x_min( $geometry)),
                if((y_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))> y_max( $geometry), (y_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), y_max( $geometry)) ),
            make_point(
                if((x_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))> x_max( $geometry), (x_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), x_max( $geometry)),
                if((y_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))> y_max( $geometry), (y_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), y_max( $geometry)) ),         
            make_point(
                if((x_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))> x_max( $geometry), (x_max( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), x_max( $geometry)),
                if((y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< y_min( $geometry), (y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), y_min( $geometry)) ),
            make_point(
                if((x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< x_min( $geometry), (x_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), x_min( $geometry)),
                if((y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   ))< y_min( $geometry), (y_min( geometry(  get_feature('tourettes', 'trt_id', attribute ($currentfeature, 'maa_id' ))  )   )), y_min( $geometry)) )
                )   
            ) 
    )

Hors ligne

 

#3 Sun 10 March 2024 15:25

Benoit D
Participant actif
Date d'inscription: 17 Jul 2018
Messages: 135

Re: QGIS: calcul emprise d un polygone + polyligne

Bonjour,
Si on considère les emprises "simples" c'est-à-dire non orientées, je vous propose :
- calcul d'emprise sur les lignes, donne une couche "emprises lignes"
- calcul d'emprise sur les polygones, donne une couche "emprises polygones"
- fusionner les couches "emprises lignes" et "emprises polygones" en une couche "emprises multiples"
- agrégation des entités par leur id conservé vers "emprises agrégées"
- calcul d'emprise sur  "emprises agrégées" donne "emprises"

Hors ligne

 

#4 Sun 10 March 2024 15:37

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul emprise d un polygone + polyligne

ok merci
est-il possible de me détailler ces lignes
- fusionner les couches "emprises lignes" et "emprises polygones" en une couche "emprises multiples" -> ou sélectionner emprise multiple ?
- agrégation des entités par leur id conservé vers "emprises agrégées"

merci LJ

Hors ligne

 

#5 Sun 10 March 2024 16:29

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul emprise d un polygone + polyligne

je découvre donc l'outil agrégation
je mets la formule maa_id = trt_id pour faire l'agrégation mais cela ne ramène qu'une seule entité !?

LJ

Hors ligne

 

#6 Sun 10 March 2024 18:43

Benoit D
Participant actif
Date d'inscription: 17 Jul 2018
Messages: 135

Re: QGIS: calcul emprise d un polygone + polyligne

laurent00 a écrit:

est-il possible de me détailler ces lignes
- fusionner les couches "emprises lignes" et "emprises polygones" en une couche "emprises multiples" -> ou sélectionner emprise multiple ?


Il s'agit de l'outil fusionner les couches pour que toutes les entités soient dans une seule et même couche. J'ai choisi le nom "emprises multiples", mais vous pouvez l'appeler "résultat intermédiaire 16".

laurent00 a écrit:

- agrégation des entités par leur id conservé vers "emprises agrégées"


Le plus simple est d'avoir le même champ dans les 2 couches, peut-être rajouter un champ trt_id dans la couche qui contient le maa_id. Dans mon jeu de test pour vérifier ce que je vous disais, j'ai utilisé le même nom de champ.

Hors ligne

 

#7 Sun 10 March 2024 19:49

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul emprise d un polygone + polyligne

merci c bon pour moi

LJ

Hors ligne

 

Pied de page des forums

Powered by FluxBB