الاسم
CG_3DUnion — تُجري اتحادًا ثلاثي الأبعاد باستخدام postgis_sfcgal.
المختصر
geometry CG_3DUnion(geometry geom1, geometry geom2);
geometry CG_3DUnion(geometry set g1field);
الوصف
متاحة منذ: 3.5.0
تتطلب هذه الدالة الواجهة الخلفية SFCGAL.
تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM IEC 13249-3: 5.1
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).
تدعم هذه الدالة المثلثات وأسطح الشبكات المثلثية غير المنتظمة (TIN).
الشكل التجميعي: يُعيد شكلًا هندسيًا هو الاتحاد الثلاثي الأبعاد لمجموعة صفوف من الأشكال الهندسية. الدالة CG_3DUnion() دالة "تجميعية" بمصطلحات PostgreSQL، أي أنها تعمل على صفوف من البيانات بالطريقة نفسها التي تعمل بها الدالتان SUM() وAVG()، ومثل معظم الدوال التجميعية فإنها تتجاهل الأشكال الهندسية NULL.
أمثلة
أُنشئت الصور الثلاثية الأبعاد باستخدام الدالة 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_3DUnion(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;
![]() اتحاد geom1 وgeom2 |

