Message posté par : jydee
----------------------------------------
une piste peut être :
-- Étape 1 : Décomposer les multipolygones en polygones simples
CREATE TABLE parcelles_polygons AS
SELECT
id, -- Assurez-vous que chaque parcelle a un identifiant unique
(ST_Dump(geom)).geom AS geom
FROM parcelles;
-- Étape 2 : Identifier les bâtiments
CREATE TABLE bati AS
SELECT
p1.id AS parcel_id,
p1.geom AS building_geom
FROM
parcelles_polygons p1
JOIN
parcelles_polygons p2
ON
ST_Within(p1.geom, p2.geom) AND p1.id <> p2.id;
-- Étape 3 : Calculer la surface des bâtiments
ALTER TABLE bati ADD COLUMN surface_area DOUBLE PRECISION;
UPDATE bati
SET surface_area = ST_Area(building_geom);
-- Optionnel : Index spatial pour améliorer les performances des requêtes spatiales
CREATE INDEX idx_parcelles_polygons_geom ON parcelles_polygons USING GIST (geom);
CREATE INDEX idx_bati_geom ON bati USING GIST (building_geom);
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=368697#p368697
Pour y répondre : geomatique(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