Syntaxe
|
ST_EQUALS(geography_1, geography_2)
|
Paramètres
| Nom |
Description |
| geography_1 |
Ce paramètre permet de spécifier la première expression de type GEOGRAPHY à comparer. |
| geography_2 |
Ce paramètre permet de spécifier la deuxième expression de type GEOGRAPHY à comparer. La fonction renvoie TRUE si les deux géométries sont spatialement égales, c'est-à-dire si elles représentent la même géométrie (les mêmes points, lignes ou zones) indépendamment de l'ordre de leurs sommets ou de leur représentation, et FALSE sinon. |
Description
Cette fonction permet de vérifier si les 2 valeurs GEOGRAPHY sont identiques.
Remarques
- Teste l'égalité spatiale réelle, pas la simple égalité textuelle : La fonction ST_EQUALS permet de vérifier si deux objets GEOGRAPHY représentent la même
entité spatiale, même si leur représentation interne (ordre des sommets, format WKT,...) diffère. Elle ne se base donc pas sur une comparaison littérale des données,
mais bien sur leur contenu géographique réel.
- Indépendante de l'ordre des sommets ou du format : Deux polygones peuvent être définis avec les mêmes sommets mais dans un ordre différent :
ST_EQUALS retournera TRUE car ils couvrent exactement la même surface. Cela est très utile pour détecter des duplications géographiques même si les définitions sont
techniquement différentes.
- Renvoie un booléen simple à utiliser : Le résultat est un TRUE ou FALSE, ce qui facilite l'intégration dans des clauses WHERE, des conditions CASE, ou
des contrôles de qualité. Cela permet d'automatiser des tests d'égalité géographique dans des chaînes de traitement ou de validation de données.
- Idéal pour détecter des doublons géographiques : Dans une base de données spatiale, ST_EQUALS permet d'identifier les géométries identiques même si
elles ne sont pas identiques sur le plan du texte brut. Cela aide à repérer des doublons qui échapperaient à une simple comparaison avec =, en raison de différences
d'encodage ou de construction.
- S'applique à tous types de géométries : La fonction peut comparer des points, des lignes, des polygones, ou des collections. Par exemple, deux lignes
sont égales si elles suivent exactement le même tracé, et deux polygones le sont s'ils couvrent la même surface, même s'ils sont représentés différemment.
- Ne tient pas compte de l'ordre topologique interne : ST_EQUALS ne considère ni la direction des lignes, ni la séquence des sommets, ni même certains
éléments de symétrie dans les multipolygones. Cela la rend plus souple que d'autres comparateurs géométriques comme ST_GEOGFROMTEXT(...) = ST_GEOGFROMTEXT(...).
- Différente de ST_INTERSECTS ou ST_CONTAINS : Deux géographies peuvent s'intersecter ou l'une peut contenir l'autre sans pour autant être égales.
ST_EQUALS est beaucoup plus stricte : elle ne retourne TRUE que si chaque point d'une géométrie est aussi présent dans l'autre et vice versa, sans aucun dépassement
ni vide.
- Utile pour des vérifications de synchronisation de données spatiales : Dans les systèmes où des objets géographiques sont répliqués ou synchronisés
(par exemple entre une base BigQuery et une API SIG), ST_EQUALS permet de s'assurer que les données géographiques sont parfaitement cohérentes, même si les formats
ou encodages divergent.
Dernière mise à jour : Jeudi, le 18 Juin 2020