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

ST_RelateMatch

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

الاسم

ST_RelateMatch — تختبر ما إذا كانت مصفوفة تقاطع DE-9IM تطابق نمط مصفوفة تقاطع

المختصر

boolean ST_RelateMatch(text intersectionMatrix, text intersectionMatrixPattern);

الوصف

تختبر ما إذا كانت قيمة intersectionMatrix في نموذج التقاطعات التسعة الموسّع بالأبعاد (DE-9IM) تستوفي intersectionMatrixPattern. يمكن حساب قيم مصفوفة التقاطع بواسطة ST_Relate.

لمزيد من المعلومات راجع قسم 5.1, “تحديد العلاقات المكانية”.

تُنفَّذ بواسطة وحدة GEOS

متاحة منذ: 2.0.0

أمثلة

SELECT ST_RelateMatch('101202FFF', 'TTTTTTFFF') ;
-- result --
t

أنماط العلاقات المكانية الشائعة مطابَقةً مع قيم مصفوفة التقاطع، لخط في مواضع مختلفة بالنسبة إلى مضلع

SELECT pat.name AS relationship, pat.val AS pattern,
       mat.name AS position, mat.val AS matrix,
       ST_RelateMatch(mat.val, pat.val) AS match
    FROM (VALUES ( 'Equality', 'T1FF1FFF1' ),
                 ( 'Overlaps', 'T*T***T**' ),
                 ( 'Within',   'T*F**F***' ),
                 ( 'Disjoint', 'FF*FF****' )) AS pat(name,val)
    CROSS JOIN
        (VALUES  ('non-intersecting', 'FF1FF0212'),
                 ('overlapping',      '1010F0212'),
                 ('inside',           '1FF0FF212')) AS mat(name,val);

 relationship |  pattern  |     position     |  matrix   | match
--------------+-----------+------------------+-----------+-------
 Equality     | T1FF1FFF1 | non-intersecting | FF1FF0212 | f
 Equality     | T1FF1FFF1 | overlapping      | 1010F0212 | f
 Equality     | T1FF1FFF1 | inside           | 1FF0FF212 | f
 Overlaps     | T*T***T** | non-intersecting | FF1FF0212 | f
 Overlaps     | T*T***T** | overlapping      | 1010F0212 | t
 Overlaps     | T*T***T** | inside           | 1FF0FF212 | f
 Within       | T*F**F*** | non-intersecting | FF1FF0212 | f
 Within       | T*F**F*** | overlapping      | 1010F0212 | f
 Within       | T*F**F*** | inside           | 1FF0FF212 | t
 Disjoint     | FF*FF**** | non-intersecting | FF1FF0212 | t
 Disjoint     | FF*FF**** | overlapping      | 1010F0212 | f
 Disjoint     | FF*FF**** | inside           | 1FF0FF212 | f