GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.11.2. علاقات المسافة
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_3DDWithin

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

الاسم

ST_3DDWithin — تختبر ما إذا كان شكلان هندسيان ثلاثيا الأبعاد ضمن مسافة ثلاثية الأبعاد معيّنة

المختصر

boolean ST_3DDWithin(geometry g1, geometry g2, double precision distance_of_srid);

الوصف

تُعيد true إذا كانت المسافة الثلاثية الأبعاد بين قيمتي geometry لا تزيد على المسافة distance_of_srid. تُحدَّد المسافة بالوحدات المعرّفة في النظام المرجعي المكاني للأشكال الهندسية. لكي يكون لهذه الدالة معنى يجب أن تكون الأشكال المصدرية في نفس نظام الإحداثيات (لها نفس SRID).

[ملاحظة]

تتضمن هذه الدالة تلقائيًا مقارنةً للمستطيل المحيط تستفيد من أي فهارس مكانية متاحة على الأشكال الهندسية.

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

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

تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM ?

متاحة منذ: 2.0.0

أمثلة

-- Geometry example - units in meters (SRID: 2163 US National Atlas Equal area) (3D point and line compared 2D point and line)
-- Note: currently no vertical datum support so Z is not transformed and assumed to be same units as final.
SELECT ST_3DDWithin(
      ST_Transform(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 4)'),2163),
      ST_Transform(ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)'),2163),
      126.8
    ) As within_dist_3d,
ST_DWithin(
      ST_Transform(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 4)'),2163),
      ST_Transform(ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)'),2163),
      126.8
    ) As within_dist_2d;

 within_dist_3d | within_dist_2d
----------------+----------------
 f              | t