Message posté par : Tan85 (tancredi.pozzana(a)gmail.com)
----------------------------------------
Bonjour,
j'ai deux couches 'bâtiments' pour 2 années différentes : 2016 et 2020.
Je voudrais calculer la consommation foncière entre les deux années en question.
J'ai donc pensé de faire un buffer de 50 mètres autour des bâtiments, regrouper les
polygones résultants qui se touchent, faire un buffer négatif de -30 mètres et calculer la
surface totale.
Tout ça sous PostgreSQL j'ai essayé comme ça :
- Buffer 50 mètres : (st_makevalid(st_buffer(b."GEOM",50)
- Regrouper les polygones : (st_union (...))
- Diviser les polygones qui ne se touchent pas : (st_subdivide (...))
- Buffer -30 mètres : (st_makevalid(st_buffer(..., -30))
Tout ensemble ça fait ça :
SELECT
st_makevalid(st_buffer((st_subdivide(st_union(st_makevalid(st_buffer(b."GEOM",50))))),-30))
FROM edigeo."BATIMENT" b, contour.communes c
where st_intersects(b."GEOM", c.geom);
Mon problème vient de st_subdivide je pense car pour les grosse tâches urbaines, il me les
subdivise à leur intérieur.
Quelqu'un peut m'aider ? Merci beaucoup !!!!
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343271#p343271
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net