GISarabia.org
PostGIS › الدليل الرسمي › 8. مرجع دوال SFCGAL › 8.3. دوال المعالجة والعلاقات في SFCGAL
PostGIS 3.6 · Official Manual · ترجمة عربية

CG_3DDifference

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

CG_3DDifference — تُجري فرقًا ثلاثي الأبعاد

المختصر

geometry CG_3DDifference(geometry geom1, geometry geom2);

الوصف

تُعيد الجزء من geom1 الذي ليس جزءًا من geom2.

متاحة منذ: 3.5.0

تتطلب هذه الدالة الواجهة الخلفية SFCGAL.

تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM IEC 13249-3: 5.1

تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.

تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).

تدعم هذه الدالة المثلثات وأسطح الشبكات المثلثية غير المنتظمة (TIN).

أمثلة

أُنشئت الصور الثلاثية الأبعاد باستخدام الدالة ST_AsX3D في PostGIS وعُرضت في HTML باستخدام مكتبة X3Dom للعرض بلغة Javascript في 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;
                            

الأشكال الهندسية الثلاثية الأبعاد الأصلية متراكبة. 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