الاسم
ST_Touches — تُعيد true إذا كان للرسترين rastA وrastB نقطة مشتركة واحدة على الأقل لكن داخليهما لا يتقاطعان.
المختصر
boolean ST_Touches( raster rastA , integer nbandA , raster rastB , integer nbandB );
boolean ST_Touches( raster rastA , raster rastB );
الوصف
تُعيد true إذا كان الرستر rastA يلامس مكانيًا الرستر rastB. ويعني ذلك أن لـ rastA وrastB نقطة مشتركة واحدة على الأقل لكن داخليهما لا يتقاطعان. إذا لم يُحدَّد رقم النطاق (أو عُيّن إلى NULL)، يؤخذ في الاختبار الغلاف المحدب للرستر فقط. وإذا حُدِّد رقم النطاق، تؤخذ في الاختبار البكسلات ذات القيم (غير NODATA) فقط.
|
|
|
تستفيد هذه الدالة من أي فهارس قد تكون متاحة على الرسترات. |
|
|
|
لاختبار العلاقة المكانية بين رستر وشكل هندسي، استخدم ST_Polygon على الرستر، مثل ST_Touches(ST_Polygon(raster), geometry). |
متاحة منذ: 2.1.0
أمثلة
SELECT r1.rid, r2.rid, ST_Touches(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;
rid | rid | st_touches
-----+-----+------------
2 | 1 | f
2 | 2 | f