الاسم
ST_3DIntersects — تختبر ما إذا كان شكلان هندسيان يتقاطعان مكانيًا في الأبعاد الثلاثية - فقط للنقاط والخطوط والمضلعات والأسطح متعددة الوجوه (المساحة)
المختصر
boolean ST_3DIntersects( geometry geomA , geometry geomB );
الوصف
التداخل (Overlaps) والتلامس (Touches) والوقوع داخل (Within) جميعها تستلزم التقاطع المكاني. إذا أعادت أيٌّ منها true، فإن الشكلين الهندسيين يتقاطعان مكانيًا أيضًا. أما الانفصال (Disjoint) فيستلزم false للتقاطع المكاني.
|
|
|
تتضمن هذه الدالة تلقائيًا مقارنةً للمستطيل المحيط تستفيد من أي فهارس مكانية متاحة على الأشكال الهندسية. |
|
|
|
بسبب إخفاقات متانة حسابات الفاصلة العائمة، لا تتقاطع الأشكال الهندسية دائمًا كما تتوقع بعد المعالجة الهندسية. على سبيل المثال، قد لا تقع أقرب نقطة على خط إلى شكل هندسي على ذلك الخط. في هذا النوع من المشكلات حيث تريد اعتبار مسافة سنتيمتر واحد تقاطعًا، استخدم ST_3DDWithin. |
تغيّرت في: 3.0.0 أُزيلت الواجهة الخلفية SFCGAL، وأصبحت الواجهة الخلفية GEOS تدعم TIN.
متاحة منذ: 2.0.0
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).
تدعم هذه الدالة المثلثات وأسطح الشبكات المثلثية غير المنتظمة (TIN).
تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM IEC 13249-3: 5.1
أمثلة geometry
SELECT ST_3DIntersects(pt, line), ST_Intersects(pt, line)
FROM (SELECT 'POINT(0 0 2)'::geometry As pt, 'LINESTRING (0 0 1, 0 2 3)'::geometry As line) As foo;
st_3dintersects | st_intersects
-----------------+---------------
f | t
(1 row)
أمثلة TIN
SELECT ST_3DIntersects('TIN(((0 0 0,1 0 0,0 1 0,0 0 0)))'::geometry, 'POINT(.1 .1 0)'::geometry);
st_3dintersects
-----------------
t