CG_3DDifference — Utföra 3D-differens
geometry CG_3DDifference(
geometry geom1, geometry geom2)
;
Returnerar den del av geom1 som inte är en del av geom2.
Tillgänglighet: 3.5.0
Denna metod behöver SFCGAL-backend.
Denna metod implementerar SQL/MM-specifikationen. SQL-MM IEC 13249-3: 5.1
Denna funktion stöder 3d och kommer inte att tappa z-index.
Denna funktion stöder polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
3D-bilder genererades med hjälp av PostGIS ST_AsX3D och rendering i HTML med hjälp av X3Dom HTML Javascript renderingsbibliotek.
SELECT CG_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50, 'quad_segs=2'),0,0,30) AS geom1, CG_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'), 50, 'quad_segs=1'),0,0,30) AS geom2;
![]() Original 3D-geometrier överlagrade. geom2 är den del som ska tas bort. |
SELECT CG_3DDifference(geom1,geom2) FROM ( SELECT CG_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50, 'quad_segs=2'),0,0,30) AS geom1, CG_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'), 50, 'quad_segs=1'),0,0,30) AS geom2 ) As t;
![]() Vad återstår efter borttagning av geom2 |