MakeValid (type de données geometry)
Convertit une instance geometry non valide en une instance geometry avec un type Open Geospatial Consortium (OGC) valide.
Syntaxe
.MakeValid ()
Types des valeurs de retour
SQL Server : geometry
Type de retour CLR : SqlGeometry
Notes
Cette méthode peut provoquer une modification du type de l'instance geometry et provoquer un léger décalage des points d'une instance geometry.
Exemples
Le premier exemple crée une instance LineString non valide qui se chevauche elle-même et utilise STIsValid() pour confirmer qu'il s'agit d'une instance non valide. STIsValid() retourne la valeur 0 pour une instance non valide.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
Le deuxième exemple utilise MakeValid() pour rendre l'instance valide et tester que l'instance est effectivement valide. STIsValid() retourne la valeur 1 pour une instance valide.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
Le troisième exemple vérifie comment l'instance a été modifiée pour en faire une instance valide.
SELECT @g.ToString();
Dans cet exemple, lorsque l'instance LineString est sélectionnée, les valeurs sont retournées en tant qu'instance MultiLineString valide.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
L'exemple suivant convertit l'instance CircularString en une instance Point.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Voir aussi
Référence
STIsValid (type de données geometry)