ST_MAKEPOLYGONORIENTED |
Fabrique un polygone orienté |
| BigQuery |
Syntaxe
|
ST_MAKEPOLYGONORIENTED(array_of_geography)
|
Paramètres
| Nom |
Description |
| array_of_geography |
Ce paramètre permet de spécifier un tableau (ARRAY) d'objets GEOGRAPHY, où chaque élément doit être une LINESTRING fermée représentant un anneau de polygone (la limite extérieure ou un trou intérieur). Cette fonction est unique car elle oriente automatiquement chaque anneau (extérieur et intérieur) selon la règle de la main droite (généralement dans le sens anti-horaire pour l'extérieur et horaire pour les trous) et construit le polygone en respectant cette orientation. Elle gère également la détermination de quel anneau est extérieur et lesquels sont intérieurs. |
Description
Cette fonction permet de créer une valeur GEOGRAPHY afin de produire un polygone en utilisant plusieurs sommets géométriques afin d'orienter chaque anneau de polygone.
Remarques
- Oriente automatiquement les anneaux selon une convention spatiale standard : Contrairement à ST_MAKEPOLYGON, cette fonction applique automatiquement la
règle de la main droite : les anneaux extérieurs sont orientés en sens antihoraire, et les anneaux intérieurs (trous) en sens horaire. Cela permet de simplifier la
création de polygones valides sans gérer manuellement les directions.
- Ne nécessite pas de distinguer les anneaux extérieurs et intérieurs à l'avance : L'un des grands avantages de ST_MAKEPOLYGONORIENTED est sa capacité à
déterminer elle-même quels anneaux sont des contours extérieurs et lesquels sont des trous, en fonction de leur orientation. Cela facilite la gestion de structures géographiques
complexes.
- Demande uniquement un tableau d'anneaux fermés : Le seul paramètre attendu est un ARRAY de LINESTRING fermés. Chaque ligne doit être fermée (même point au
début et à la fin) et n'avoir aucune auto-intersection. Si ces conditions ne sont pas remplies, la fonction échoue ou retourne une géométrie invalide.
- Simplifie la génération de polygones complexes dans les requêtes SQL : Grâce à l'automatisation de l'orientation, cette fonction réduit considérablement le
besoin de traitements préparatoires. Elle est idéale pour les cas où les anneaux sont générés dynamiquement ou extraits de sources sans ordre explicite.
- Gère correctement les trous multiples sans intervention manuelle : Si plusieurs anneaux sont fournis dans le tableau et qu'ils sont bien contenus dans
l'anneau principal, la fonction les classe comme trous si leur orientation le suggère. Cela évite les erreurs fréquentes liées à la mauvaise définition des anneaux
intérieurs.
- Adaptée à des traitements en masse sur des ensembles géographiques : Dans des pipelines géospatiaux automatisés, ST_MAKEPOLYGONORIENTED est précieuse, car
elle supprime les contraintes d'ordre et de distinction manuelle, ce qui est crucial dans des scénarios de traitement de données hétérogènes.
- Respecte les normes de validité géométrique des polygones : La fonction assure que les anneaux sont correctement hiérarchisés et orientés, ce qui est
important pour produire des GEOGRAPHY valides, exploitables par d'autres fonctions comme ST_AREA, ST_COVERS ou ST_INTERSECTS.
- Peut être combinée avec des fonctions comme ST_BOUNDARY ou ST_BUFFER : Elle est souvent utilisée en complément de fonctions générant des contours,
comme ST_BUFFER (zones d'influence) ou ST_CONVEXHULL (enveloppes convexes), pour ensuite structurer le résultat final en polygone orienté.
Dernière mise à jour : Jeudi, le 18 Juin 2020