Name

ST_3DDifference — Effectuer une différence 3D

Synopsis

geometry ST_3DDifference(geometry geom1, geometry geom2);

Description

Renvoie la partie de geom1 qui ne fait pas partie de geom2.

Disponibilité : 2.2.0

Cette méthode nécessite le backend SFCGAL.

Cette méthode implémente la spécification SQL/MM.

SQL-MM IEC 13249-3: 5.1

Cette fonction prend en charge la 3D et ne supprime pas l'indice z.

Cette fonction prend en charge les surfaces Polyhedral.

Cette fonction prend en charge les triangles et les réseaux irréguliers triangulés (TIN).

Exemples

Les images 3D ont été générées à l'aide de PostGIS ST_AsX3D et rendues en HTML à l'aide de X3Dom HTML Javascript rendering library.

SELECT ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'),
 50, 'quad_segs=2'),0,0,30) AS geom1,
        ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'),
 50, 'quad_segs=1'),0,0,30) AS geom2;
                

Géométries 3D originales superposées. geom2 est la partie qui sera retirée.

SELECT ST_3DDifference(geom1,geom2)
FROM ( SELECT ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'),
 50, 'quad_segs=2'),0,0,30) AS geom1,
        ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'),
 50, 'quad_segs=1'),0,0,30) AS geom2 ) As t;

Ce qui reste après la suppression de geom2

Voir aussi

ST_Extrude, ST_AsX3D, ST_3DIntersection ST_3DUnion