Name

ST_RelateMatch — Testet, ob eine DE-9IM Schnittpunktmatrix mit einem Schnittpunktmuster übereinstimmt

Synopsis

boolean ST_RelateMatch(text intersectionMatrix, text intersectionMatrixPattern);

Beschreibung

Prüft, ob ein Dimensionally Extended 9-Intersection Model (DE-9IM) intersectionMatrix Wert ein intersectionMatrixPattern erfüllt. Schnittpunktmatrixwerte können mit ST_Relate berechnet werden.

Weitere Informationen finden Sie unter Section 5.1, “Räumliche Beziehungen feststellen”.

Wird durch das GEOS Modul ausgeführt

Verfügbarkeit: 2.0.0

Beispiele

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

Muster für gemeinsame räumliche Beziehungen, die mit den Werten der Kreuzungsmatrix abgeglichen werden, für eine Linie in verschiedenen Positionen relativ zu einem Polygon

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