- Catégories :
ST_COVERS¶
Renvoie TRUE si aucun point d’un objet géospatial ne se trouve à l’extérieur d’un autre objet géospatial. En d’autres termes :
GEOGRAPHY l’objet
g2
est à l’extérieur de GEOGRAPHY l’objetg1
.GEOMETRY l’objet
g2
est à l’extérieur de GEOMETRY l’objetg1
.
ST_COVERS est similaire, mais subtilement différent de ST_CONTAINS. Pour plus de détails sur les différences entre « covers » (couvre) et « contains » (contient), voir le modèle à 9 intersections dimensionnellement étendu (DE-9IM).
Bien que ST_COVERS et ST_CONTAINS puissent sembler similaires, les deux fonctions présentent des différences subtiles. Pour plus de détails sur les différences entre « covers » (couvre) et « contains » (contient), voir le modèle à 9 intersections dimensionnellement étendu (DE-9IM).
Note
Cette fonction ne prend pas en charge l’utilisation de GeometryCollection ou de FeatureCollection comme valeurs d’entrée.
Astuce
Vous pouvez utiliser le service d’optimisation de recherche pour améliorer les performances des requêtes qui appellent cette fonction. Pour plus de détails, voir Service d’optimisation de la recherche.
- Voir aussi :
Syntaxe¶
ST_COVERS( <geography_expression_1> , <geography_expression_2> )
ST_COVERS( <geometry_expression_1> , <geometry_expression_2> )
Arguments¶
geography_expression_1
Un objet GEOGRAPHY qui n’est pas un GeometryCollection ou un FeatureCollection.
geography_expression_2
Un objet GEOGRAPHY qui n’est pas un GeometryCollection ou un FeatureCollection.
geometry_expression_1
Un objet GEOMETRY qui n’est pas un GeometryCollection ou un FeatureCollection.
geometry_expression_2
Un objet GEOMETRY qui n’est pas un GeometryCollection ou un FeatureCollection.
Renvoie¶
BOOLEAN.
Notes sur l’utilisation¶
Pour les objets GEOMETRY, la fonction signale une erreur si les deux objets GEOMETRY en entrée ont des SRIDs différents.
Exemples¶
Exemples GEOGRAPHY¶
Cela montre une utilisation simple de la fonction ST_COVERS :
create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY); insert into geospatial_table_01 (g1, g2) values ('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');SELECT ST_COVERS(g1, g2) FROM geospatial_table_01; +-------------------+ | ST_COVERS(G1, G2) | |-------------------| | True | +-------------------+
Exemples GEOMETRY¶
La requête ci-dessous montre plusieurs exemples d’utilisation de ST_COVERS. Notez comment le polygone couvre (mais ne contient pas) une LineString sur sa bordure.
SELECT ST_COVERS(poly, poly_inside), ST_COVERS(poly, poly), ST_COVERS(poly, line_on_boundary), ST_COVERS(poly, line_inside) FROM (SELECT TO_GEOMETRY('POLYGON((-2 0, 0 2, 2 0, -2 0))') AS poly, TO_GEOMETRY('POLYGON((-1 0, 0 1, 1 0, -1 0))') AS poly_inside, TO_GEOMETRY('LINESTRING(-1 1, 0 2, 1 1)') AS line_on_boundary, TO_GEOMETRY('LINESTRING(-2 0, 0 0, 0 1)') AS line_inside);+------------------------------+----------------------+----------------------------------+-----------------------------+ | ST_COVERS(POLY, POLY_INSIDE) | ST_COVERS(POLY,POLY) | ST_COVERS(POLY,LINE_ON_BOUNDARY) | ST_COVERS(POLY,LINE_INSIDE) | |------------------------------+----------------------+----------------------------------+-----------------------------| | True | True | True | True | +------------------------------+----------------------+----------------------------------+-----------------------------+