ST_COVERS |
Couverture |
| BigQuery |
Syntaxe
|
ST_COVERS(geography_1, geography_2)
|
Paramètres
| Nom |
Description |
| geography_1 |
Ce paramètre permet de spécifier la première expression de type GEOGRAPHY, étant la géométrie "couvrante". |
| geography_2 |
Ce paramètre permet de spécifier la deuxième expression de type GEOGRAPHY, étant la géométrie dont on vérifie si elle est couverte. La fonction renvoie TRUE si geography_1 couvre complètement geography_2 (c'est-à-dire que tous les points de geography_2 sont à l'intérieur ou sur la limite de geography_1), et FALSE sinon. Cette relation est plus inclusive que ST_CONTAINS car elle permet aux limites de coïncider. |
Description
Cette fonction permet de vérifier si aucun point géographique n'est à l'extérieur d'un autre point géographique.
Remarques
- Vérifie une inclusion géographique inclusive des frontières : La fonction ST_COVERS permet de déterminer si tous les points de geography_2 sont contenus
à l'intérieur ou sur les limites de geography_1. Elle accepte donc que les géométries soient adjacentes ou qu'elles se superposent parfaitement aux bords, ce qui la
rend plus permissive que ST_CONTAINS.
- Particulièrement utile pour des cas limites : ST_COVERS est souvent choisie quand il est important que la géométrie "couvrante" inclue exactement ou
partiellement le contour de l'autre géométrie. Par exemple, un polygone de zone administrative peut "couvrir" une école située exactement sur sa frontière, même si
ST_CONTAINS retournerait FALSE.
- Retourne une valeur booléenne claire : Le résultat de la fonction est un simple booléen (TRUE ou FALSE), ce qui la rend directement utilisable dans des
clauses WHERE, CASE, ou dans des conditions de filtrage dans une interface SIG ou une application cartographique. Cela simplifie son usage dans des logiques
décisionnelles.
- Inverse logique de ST_COVEREDBY : ST_COVERS(A, B) est équivalent à ST_COVEREDBY(B, A). Cette symétrie logique permet de choisir la fonction selon le sens
que l'on veut exprimer dans la requête - soit du point de vue de la zone qui englobe, soit de l'élément contenu. Cela rend les expressions spatiales plus intuitives.
- Moins stricte que ST_CONTAINS : Alors que ST_CONTAINS exige que l'intérieur exclusif de geography_2 soit contenu dans geography_1, ST_COVERS accepte les
cas où geography_2 touche ou coïncide avec les frontières de geography_1. Cela permet une meilleure tolérance dans les comparaisons spatiales, surtout pour des objets
contigus.
- Compatible avec tous les types de géométries : La fonction fonctionne avec des points, des lignes, des polygones ou des collections. Elle permet par
exemple de vérifier si une ligne (comme un parcours) est entièrement couverte par un polygone (comme un parc national), même si elle commence ou finit exactement à la
limite de celui-ci.
- Très utile en vérification réglementaire : Dans les contextes de réglementation spatiale ou d'urbanisme, ST_COVERS permet de s'assurer qu'une entité
géographique (comme un projet de construction) est bien couverte par une zone d'autorisation, sans exclure les cas où elle toucherait uniquement les bords. Cela évite
des rejets non pertinents.
- Nécessite des géométries valides et bien formées : Comme pour les autres fonctions spatiales, des géométries mal formées peuvent entraîner des résultats
imprécis ou incorrects. Il est donc recommandé de valider les géométries (ST_ISVALID) avant d'utiliser ST_COVERS dans des calculs critiques, surtout si les objets sont
générés dynamiquement.
Dernière mise à jour : Jeudi, le 18 Juin 2020