Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Endpoint SQL analytics dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Une instance MultiPolygon est une collection de zéro ou plusieurs instances Polygon .
Instances de polygones
L’illustration suivante montre des exemples d’instances MultiPolygon .
Comme indiqué par l'illustration :
La figure 1 est une instance MultiPolygon avec deux éléments Polygon . La limite est définie par les deux anneaux extérieurs et les trois anneaux intérieurs.
La figure 2 est une instance MultiPolygon avec deux éléments Polygon . La limite est définie par les deux anneaux extérieurs et les trois anneaux intérieurs. Les deux éléments Polygon se croisent à un point tangent.
Instances acceptées
Les instances MultiPolygon sont acceptées si l’une des conditions suivantes est remplie.
Il s’agit d’une instance MultiPolygon vide.
Toutes les instances comprenant l’instance MultiPolygon sont des instances Polygon acceptées. Pour plus d’informations sur les instances Polygon acceptées, consultez Polygon.
Les exemples suivants illustrent des instances MultiPolygon acceptées.
DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
L'exemple suivant illustre une instance MultiPolygon qui lève une exception System.FormatException.
DECLARE @g geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3)))';
La deuxième instance du MultiPolygon est une instance LineString et non une instance Polygon acceptée.
Instances valides
Les instances MultiPolygon sont valides s’il s’agit d’instances MultiPolygon vides ou si elles respectent les critères suivants.
Toutes les instances comprenant l’instance MultiPolygon sont des instances Polygon valides. Pour obtenir des instances Polygon valides, consultez Polygon.
Aucune des instances Polygon comprenant l’instance MultiPolygon n’en chevauche une autre.
L’exemple suivant illustre deux instances MultiPolygon valides et une instance MultiPolygon non valide.
DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid();
@g2 est valide, car les deux instances Polygon se touchent uniquement à un point tangent.
@g3 n’est pas valide, car les intérieurs des deux instances Polygon se chevauchent.
Examples
Exemple A.
L’exemple suivant illustre la création d’une instance geometry MultiPolygon et retourne l’entrée WKT (well-known text) du deuxième composant.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTIPOLYGON(((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 1 2, 2 1, 1 1)), ((9 9, 9 10, 10 9, 9 9)))');
SELECT @g.STGeometryN(2).STAsText();
Exemple B.
Cet exemple instancie une instance MultiPolygon vide.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTIPOLYGON EMPTY');