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

|=|

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

الاسم

|=| — تُعيد المسافة بين المسارين A وB عند نقطة اقترابهما الأقرب.

المختصر

double precision |=|( geometry A , geometry B );

الوصف

يُعيد العامل |=| المسافة ثلاثية الأبعاد بين مسارين (انظر ST_IsValidTrajectory). وهو مماثل لـ ST_DistanceCPA لكن بوصفه عاملًا يمكن استخدامه لإجراء عمليات البحث عن أقرب الجيران باستخدام فهرس N-الأبعاد (يتطلب PostgreSQL 9.5.0 أو أحدث).

[ملاحظة]

يستفيد هذا العامل من فهارس GiST متعددة الأبعاد (ND) التي قد تكون متاحة على الأشكال الهندسية. ويختلف عن العوامل الأخرى التي تستخدم الفهارس المكانية في أن الفهرس المكاني لا يُستخدم إلا عندما يكون العامل في عبارة ORDER BY.

[ملاحظة]

لا يعمل الفهرس إلا إذا كان أحد الشكلين الهندسيين ثابتًا (ليس في استعلام فرعي/cte). مثلًا 'SRID=3005;LINESTRINGM(0 0 0,0 0 1)'::geometry بدلًا من a.geom

متاحة منذ: 2.2.0. دعم الفهرس متاح فقط في PostgreSQL 9.5+

أمثلة

-- Save a literal query trajectory in a psql variable...
\set qt 'ST_AddMeasure(ST_MakeLine(ST_MakePointM(-350,300,0),ST_MakePointM(-410,490,0)),10,20)'
-- Run the query !
SELECT track_id, dist FROM (
  SELECT track_id, ST_DistanceCPA(tr,:qt) dist
  FROM trajectories
  ORDER BY tr |=| :qt
  LIMIT 5
) foo;
 track_id        dist
----------+-------------------
      395 | 0.576496831518066
      380 |  5.06797130410151
      390 |  7.72262293958322
      385 |   9.8004461358071
      405 |  10.9534397988433
(5 rows)