Voor een project wil ik graag uitgevulde 3d dakvlakken genereren uit de database.
Elk dakvlak heeft een 2d Polygon in tabel lod22_2d.
De MultiPolygon in het geometrie veld van tabel lod22_3d lijkt een trimesh te zijn.
Ik ben op zoek naar een query waarbij ik dus de MultiPolygon kan splitsen en de triangle polygons kan groeperen op basis van de 2d footprint.
Ik probeer iets als:
select clipped_geom
from (
select s3d.gid, (ST_Dump(ST_Intersection(ST_SetSRID(s2d.geometrie, 7415), s3d.geometrie))).geom clipped_geom
from bag3d.lod22_2d as s2d
inner join bag3d.lod22_3d as s3d on s2d.fid = s3d.fid
inner join bag3d.pand as pand on s2d.fid = pand.fid
where pand.identificatie = ‘NL.IMBAG.Pand.0503100000017610’
) as clipped
where ST_Dimension(clipped.clipped_geom) = 1;
Ter illustratie:
Ik probeer dus per dd_id (dakdeel) de 3d segmenten te groeperen.
Hier een plot van de ongegroepeerde dakdelen:
Plan B is zelf een algoritme schrijven die de daksegmenten groepeert, maar probeer eerst een query te vinden.