Name

CG_3DDifference — 3次元の差分を計算します。

Synopsis

geometry CG_3DDifference(geometry geom1, geometry geom2);

説明

[Warning]

CG_3DDifference is deprecated as of 3.5.0. Use CG_3DDifference instead.

geom2に含まれないgeom1の一部を返します。

Availability: 3.5.0

このメソッドにはSFCGALバックエンドが必要です。

このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1

この関数は3次元に対応し、Z値を削除しません。

この関数は多面体サーフェスに対応しています。

この関数は三角形と不規則三角網 (TIN)に対応しています。

PostGIS関数ST_AsX3Dを使って3次元イメージを生成し、X3Dom HTML Javascript redering libraryを使ってHTMLでの描画を行います。

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;
                            

元の3次元ジオメトリを重ねたもの。geom2は削除部分にあたります。

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;

geom2を削除した後に残るもの