1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| WITH
T0 AS
(
SELECT MesPolyDeReference.LaClef, MesPolyDeReference.Poly AS PolyRef, MesPlolyVoisins AS PolyVoisin
FROM MesPoly AS MesPolyDeReference
JOIN MesPoly AS MesPlolyVoisins
ON ST_Distance(MesPolyDeReference.Poly, MesPlolyVoisins.Poly) < 25
AND MesPolyDeReference.LaClef <> MesPlolyVoisins.LaClef
WHERE MesPolyDeReference.??? --critère à définir
),
T1 AS
(
SELECT LaClef, PolyRef AS POLY
FROM T
UNION ALL
SELECT LaClef, PolyVoisin
FROM T0
)
SELECT LaClef, ST_Union(POLY)
FROM T1
GROUP BY LaClef |
Partager