الاسم
CG_StraightSkeleton — تحسب هيكلًا مستقيمًا (straight skeleton) من شكل هندسي
المختصر
geometry CG_StraightSkeleton(geometry geom, boolean use_distance_as_m = false);
الوصف
متاحة منذ: 3.5.0
تتطلب SFCGAL >= 1.3.8 للخيار use_distance_as_m
تتطلب هذه الدالة الواجهة الخلفية SFCGAL.
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).
تدعم هذه الدالة المثلثات وأسطح الشبكات المثلثية غير المنتظمة (TIN).
أمثلة
SELECT CG_StraightSkeleton(ST_GeomFromText('POLYGON (( 190 190, 10 190, 10 10, 190 10, 190 20, 160 30, 60 30, 60 130, 190 140, 190 190 ))'));
SELECT ST_AsText(CG_StraightSkeleton('POLYGON((0 0,1 0,1 1,0 1,0 0))', true);
MULTILINESTRING M ((0 0 0,0.5 0.5 0.5),(1 0 0,0.5 0.5 0.5),(1 1 0,0.5 0.5 0.5),(0 1 0,0.5 0.5 0.5))
لاحظ أن المُدخَلات الصالحة ذات الحلقات التي تتلامس في نقطة واحدة ستُطلق خطأً.
SELECT CG_StraightSkeleton( 'POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (0 0, 1 2, 2 1, 0 0))')); NOTICE: During straight_skeleton(A) : NOTICE: with A: POLYGON((0/1 0/1,3/1 0/1,3/1 3/1,0/1 3/1,0/1 0/1),(0/1 0/1,1/1 2/1,2/1 1/1,0/1 0/1)) ERROR: straight skeleton of Polygon with point touching rings is not implemented.
![]() المضلع الأصلي |
![]() الهيكل المستقيم لمضلع |

