ST_DIFFERENCE |
Différence |
| BigQuery |
Syntaxe
|
ST_DIFFERENCE(geography_1, geography_2)
|
Paramètres
| Nom |
Description |
| geography_1 |
Ce paramètre permet de spécifier la première expression de type GEOGRAPHY (le minuend). C'est de cette géométrie que la deuxième géométrie sera soustraite. |
| geography_2 |
Ce paramètre permet de spécifier la deuxième expression de type GEOGRAPHY (le subtrahend). Cette géométrie est soustraite de geography_1. La fonction renvoie un nouvel objet GEOGRAPHY représentant la partie de geography_1 qui ne chevauche pas geography_2. Si les deux géométries ne se chevauchent pas, elle renvoie geography_1. |
Description
Cette fonction permet de demander la différence entre 2 points géographique.
Remarques
- Fonction de soustraction spatiale : ST_DIFFERENCE permet de soustraire une géométrie d'une autre, en retirant les zones communes entre geography_1 et
geography_2. Elle renvoie uniquement la partie de geography_1 qui ne se chevauche pas avec geography_2. C'est une opération clef pour manipuler des formes spatiales en
éliminant des intersections.
- Le résultat dépend de l'ordre des paramètres : La fonction n'est pas symétrique : ST_DIFFERENCE(A, B) n'est pas équivalent à ST_DIFFERENCE(B, A). En effet,
la géométrie retournée est ce qui reste de geography_1 après suppression de geography_2. Il est donc important de bien définir le sens de la soustraction selon le
besoin géographique.
- Renvoie un nouvel objet GEOGRAPHY : La sortie de ST_DIFFERENCE est toujours une nouvelle géographie, typiquement de type polygone ou multipolygone. Si
geography_2 n'a aucune intersection avec geography_1, alors la fonction renvoie geography_1 tel quel, ce qui évite des erreurs dans les cas non chevauchants.
- Utile pour découper des zones spatiales : Elle est couramment utilisée pour découper une région, par exemple en retirant une zone protégée d'un territoire
plus vaste. Cela permet de produire des cartes ou des analyses sur des portions de terrain excluant certains secteurs spécifiques, comme les zones interdites ou les
périmètres urbains.
- Résultat potentiellement vide : Si geography_1 est entièrement contenue dans geography_2, la fonction renverra une géographie vide, car il ne reste
rien à conserver. Il peut donc être utile d'accompagner cette fonction d'un test avec ST_ISEMPTY pour gérer ce type de résultat dans des flux de données.
- Prend en charge toutes formes géographiques : La fonction peut être utilisée avec des lignes, des polygones, des multipolygones, ou des combinaisons de
ces types. Elle effectue automatiquement les opérations nécessaires pour soustraire les zones de recouvrement, quel que soit le niveau de complexité géométrique.
- Comportement influencé par la précision des coordonnées : Lorsque deux géométries ont des coordonnées proches mais pas exactement identiques, la différence
peut générer de petits résidus géographiques, parfois inattendus. Il peut être utile de simplifier ou de nettoyer les géométries avant l'utilisation, notamment pour éviter
des fragments inutiles.
- Indispensable pour la gestion de conflits spatiaux : Dans des scénarios comme la planification urbaine, l'aménagement du territoire ou l'analyse
environnementale, ST_DIFFERENCE permet de retirer des zones d'exclusion (forêts, lacs, zones militaires) pour créer des zones exploitables. Elle est donc essentielle
dans la construction de géographies personnalisées.
Dernière mise à jour : Jeudi, le 18 Juin 2020