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 06 August 2020 11:04
- zang
- Participant actif
- Date d'inscription: 4 Oct 2005
- Messages: 55
Intersect entre lignes et polygones
Bonjour,
Question peut-être très bête et basique désolé...
J'ai une table de lignes et une table de polygones.
Je souhaite calculer la somme des longueurs de lignes pour chaque polygone.
Pour cela j'utilise la requête suivante:
Code:
SELECT s.nom, sum(st_length(st_intersection(l.geom, s.geom))/1000) as long_km FROM ligne l, polygone s WHERE st_intersects(l.geom, s.geom) GROUP BY nom
A priori ça marche.
Par contre je n'arrive pas à visualiser les résultats sur QGis.
Comment générer la géométrie résultant d'un intersect entre ces deux tables?
Et pas seulement une sélection des entités, mais en découpant les lignes par rapport aux polygones?
Si j'utilise le st_intersection pour générer la geométrie, la requête est extrêmement longue et impossible de charger dans QGIS au final...
Code:
SELECT s.nom, st_intersection(l.geom, s.geom) as geom FROM ligne l, polygone s WHERE st_intersects(l.geom, s.geom)
Merci d'avance pour vos lumières,
Bonne journée!
Hors ligne
#2 Thu 06 August 2020 15:41
- zang
- Participant actif
- Date d'inscription: 4 Oct 2005
- Messages: 55
Re: Intersect entre lignes et polygones
Bon,
Après quelques recherches j'ai réussi mais je ne sais pas si c'est le plus rapide...
Code:
SELECT s.nom, ST_Multi(ST_collectionextract(ST_Intersection (l.geom, s.geom),2)) as geom FROM ligne l, polygone s WHERE st_intersects(l.geom, s.geom)
Merci pour vos améliorations...
Hors ligne