ST_RelateMatch — Testet, ob eine DE-9IM Schnittpunktmatrix mit einem Schnittpunktmuster übereinstimmt
boolean ST_RelateMatch(
text intersectionMatrix, text intersectionMatrixPattern)
;
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
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