الاسم
ST_3DDFullyWithin — تختبر ما إذا كان شكلان هندسيان ثلاثيا الأبعاد يقعان بالكامل ضمن مسافة ثلاثية الأبعاد معيّنة
المختصر
boolean ST_3DDFullyWithin(geometry g1, geometry g2, double precision distance);
الوصف
تُعيد true إذا كان الشكلان الهندسيان الثلاثيا الأبعاد يقعان بالكامل ضمن المسافة المحددة أحدهما من الآخر. تُحدَّد المسافة بالوحدات المعرّفة في النظام المرجعي المكاني للأشكال الهندسية. لكي يكون لهذه الدالة معنى، يجب أن يكون الشكلان المصدريان في نفس إسقاط الإحداثيات، أي لهما نفس SRID.
|
|
|
تتضمن هذه الدالة تلقائيًا مقارنةً للمستطيل المحيط تستفيد من أي فهارس مكانية متاحة على الأشكال الهندسية. |
متاحة منذ: 2.0.0
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).
أمثلة
-- This compares the difference between fully within and distance within as well
-- as the distance fully within for the 2D footprint of the line/point vs. the 3d fully within
SELECT ST_3DDFullyWithin(geom_a, geom_b, 10) as D3DFullyWithin10, ST_3DDWithin(geom_a, geom_b, 10) as D3DWithin10,
ST_DFullyWithin(geom_a, geom_b, 20) as D2DFullyWithin20,
ST_3DDFullyWithin(geom_a, geom_b, 20) as D3DFullyWithin20 from
(select ST_GeomFromEWKT('POINT(1 1 2)') as geom_a,
ST_GeomFromEWKT('LINESTRING(1 5 2, 2 7 20, 1 9 100, 14 12 3)') as geom_b) t1;
d3dfullywithin10 | d3dwithin10 | d2dfullywithin20 | d3dfullywithin20
------------------+-------------+------------------+------------------
f | t | t | f