Name

ST_Touches — Retourne true si les raster rastA et rastB ont au moins un point en commun mais que leurs intérieurs n'intersectent pas.

Synopsis

boolean ST_Touches( raster rastA , integer nbandA , raster rastB , integer nbandB );

boolean ST_Touches( raster rastA , raster rastB );

Description

Retourne true si le raster rastA touche spatialement le raster rastB. Cela signifie que rastA et rastB ont au moins un point en commun mais que leurs intérieurs n’intersectent pas. Si le numéro de bande n'est pas spécifié (ou si NULL), seule l'enveloppe convexe du raster est prise en compte dans le test. Si le numéro de bande est spécifié, seuls les pixels ayant une valeur (différente de NODATA) sont pris en compte dans le test.

[Note]

Cette fonction utilisera tous les index qui peuvent être disponibles sur les données raster.

[Note]

Pour tester la relation spatiale entre un raster et une géométrie, utilisez ST_Polygon sur le raster, par exemple ST_Touches(ST_Polygon(raster), geometry).

Disponibilité : 2.1.0

Exemples

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
            

Voir aussi

ST_Intersects