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Ă© ?

#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

 

Pied de page des forums

Copyright Association GeoRezo