MakeValid (type de données geometry)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Base de données SQL dans Microsoft Fabric
Convertit une instance geometry non valide en instance geometry ayant un type OGC (Open Geospatial Consortium) valide.
Syntaxe
.MakeValid ()
Types de retour
Type de retour SQL Server : geometry
Type de retour CLR : SqlGeometry
Remarques
Cette méthode peut entraîner un changement de type de l’instance geometry, ainsi qu’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
STIsValid (type de données geometry)
Méthodes étendues sur les instances géométriques