Interrogation de propriétés et comportements des instances géométriques
Toutes les instances geometry ont plusieurs propriétés qui peuvent être extraites par le biais des méthodes fournies par SQL Server. Les rubriques suivantes définissent les propriétés et comportements de types géométriques et les méthodes permettant de les interroger.
Nombre de points
Toutes les instances geometry non vides sont constituées de points. Ces points représentent les coordonnées X et Y sur lesquelles les géométries sont dessinées. geometry fournit de nombreuses méthodes intégrées pour interroger les points d'une instance.
Pour retourner le nombre de points qui composent une instance
Pour retourner un point spécifique dans une instance
Pour retourner un point arbitraire qui repose sur une instance
Pour retourner le point de départ d'une instance
Pour retourner le point de terminaison d'une instance
Pour retourner la coordonnée X d'une instance Point
Pour retourner la coordonnée Y d'une instance Point
Pour retourner le point central géométrique d'une instance Polygone ou MultiPolygon
Dimension
Une instance geometry non vide peut avoir 0, 1 ou 2 dimensions. Les geometries à zéro dimension, telles que Point et MultiPoint, n'ont aucune longueur ou surface. Les objets unidimensionnels, tels que LineString et MultiLineString, ont une longueur. Les instances à deux dimensions, telles que Polygon et MultiPolygon, ont une surface et une longueur. Les instances vides indiquent une dimension de -1 et une GeometryCollection indique une surface dépendant des types de son contenu.
Pour retourner la dimension d'une instance
Pour retourner la longueur d'une instance
Pour retourner la surface d'une instance
Vide
Une instance geometryvide n'a pas de points. La longueur des instances LineString et MultiLineString vides est nulle. La surface des instances Polygon et MultiPolygon vides est 0.
Pour déterminer si une instance est vide
Simple
Pour qu'une geometry de l'instance soit simple, elle doit satisfaire ces deux spécifications :
Chaque graphique de l'instance ne doit pas se croiser lui-même, sauf à ses points de terminaison.
Deux graphiques de l'instance ne peuvent se croiser l'un l'autre à un point qui n'est pas dans leurs limites.
[!REMARQUE]
Les géométries vides sont toujours simples.
Pour déterminer si une instance est simple
Limite, intérieur et extérieur
L'intérieur d'une instance geometry est l'espace occupé par l'instance et l'extérieur est l'espace qu'elle n'occupe pas.
Le terme Limite est défini par l'OGC comme suit :
Les instances Point et MultiPoint n'ont pas de limite.
Les limites de LineString et MultiLineString sont formées par les points de départ et points de terminaison, en supprimant ceux qui ont lieu un nombre pair de fois.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();
La limite d'une instance Polygon ou MultiPolygon est l'ensemble de ses anneaux.
DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();
Pour retourner la limite d'une instance
Enveloppe
L'enveloppe d'une instance geometry , également appelée zone englobante, est le rectangle aligné sur l'axe formé par les coordonnées minimales et maximales (X, Y) de l'instance.
Pour retourner l'enveloppe d'une instance
Fermeture
Une instance geometry fermée est un graphique dont les points de départ et de terminaison sont les mêmes. Les instances Polygon sont considérées comme fermées. Les instances Point ne sont pas fermées.
Un anneau est une instance LineString simple et fermée.
Pour déterminer si une instance est fermée
Pour déterminer si une instance est un anneau
Pour retourner l'anneau extérieur d'une instance Polygon
Pour retourner le nombre d'anneaux intérieurs dans un Polygon
Pour retourner un anneau intérieur spécifié d'un Polygon
ID de référence spatial (SRID)
L'ID de référence spatial (SRID) est un identificateur spécifiant le système de coordonnées dans lequel l'instance geometry est représentée. Deux instances avec des SRID différents sont incomparables.
Pour définir ou retourner le SRID d'une instance
Cette propriété peut être modifiée.