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 Mon 25 September 2017 17:53

agone
Participant occasionnel
Date d'inscription: 2 Sep 2015
Messages: 35

QGIS: Requête SQL intersection

Bonjour à tous,

Voilà mon problème: je dispose de disons 3 couches de polygones,

Couche A: des polygones représentant des types de sol différent
Couche B: des polygones représentant des maisons
Couche C: des polygones représentant des immeubles

Je souhaiterai avoir un tableau m'indiquant quelle superficie de chacun de mes éléments de la couche A est intersecté par les éléments des couches B et C

Pour une idée du résultat à obtenir voire le tableau exemple joint.

[img]https://framapic.org/UVK2HwTMIr4E/w1q4I1ieo745.jpg[/img]

J'ai réussi à faire la requête de recoupement de la couche A avec la couche B mais je ne sais pas comment ajouter la couche C (sachant que je veux le recoupement de A avec B et de A avec C mais pas de B avec C).

Merci d'avance.

Hors ligne

 

#2 Mon 25 September 2017 18:20

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2876
Site web

Re: QGIS: Requête SQL intersection

Maisons et immeubles, c'est un peu de la même nature, non ? (en terme de modélisation informatique, et de logique / de sémantique)
Avant de faire l' intersection sol - bâti , autant faire d'abord une union sur tout le bâti ?

(Sinon, il y aurait des maisons construites sur le toit d'un immeuble - en anglais, ça s'appelle un penthouse , ou l'inverse : des maisons construites sous un immeuble - en 3D, ça peut exister avec des maisons troglodytes, ou avec des bidonvilles qui seraient construits dans des rez-de-chaussée en déshérence...)


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#3 Tue 26 September 2017 09:09

agone
Participant occasionnel
Date d'inscription: 2 Sep 2015
Messages: 35

Re: QGIS: Requête SQL intersection

Bonjour, merci d'avoir pris la peine de répondre. En fait c'est un exemple que j'ai donné, dans mon cas réel c'est un projet de golf, du coup la couche B correspond par exemple aux greens, la couche C aux bâtiments, la D aux bunker, etc.

Et il n'y a pas de problème de recouvrement de couches merci.

Je cherche donc toujours la requête à effectuer en SQL si quelqu'un à la réponse?

Hors ligne

 

#4 Tue 26 September 2017 09:57

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2876
Site web

Re: QGIS: Requête SQL intersection

Et la couche A ? C'est celle du foncier à acquérir ?? Ou pour faire des calculs de devis de terrassement ?


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#5 Tue 26 September 2017 10:41

MaudJ
Juste Inscrit !
Date d'inscription: 23 Jan 2017
Messages: 6

Re: QGIS: Requête SQL intersection

Bonjour,
Alors de mon côté, je ferai la couche A avec la couche B, puis la couche A avec la couche C et je regroupe les données des deux résultats, puisqu'il ne faut pas faire B avec C.

En gros, tu as deux résultats intermédiraires que tu regroupes par une sélection sql dans un tableau.
Bon étant donné le peu d'info que tu nous donnes, je ne sais pas de quoi sont faits tes résultats, mais grosso modo, ta requête pourrait resssemblait à ça:


Code:

select A_B.typePoly, A_B.superficie, A_C.superficie from A_B join A_C on A_B.idA = A_C.idA

idA c'est l'identifiant (valeur unique) des types de polygones de chaque calcul de regroupement que tu as fait. je ne sais pas sous quelle forme ça se présente chez toi.

Hors ligne

 

Pied de page des forums

Powered by FluxBB