Dela via


MakeValid (datatyp för geometri)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Förhandsversion av Microsoft Fabric

Konverterar en ogiltig geometriinstans till en geometriinstans med en giltig OGC-typ (Open Geospatial Consortium).

Syntax

  
.MakeValid ()  

Return Types

SQL Server-returtyp: geometri

CLR-returtyp: SqlGeometry

Remarks

Den här metoden kan orsaka en ändring i typen av geometriinstans , samt orsaka att punkterna i en geometriinstans skiftar något.

Examples

Det första exemplet skapar en ogiltig LineString instans som överlappar sig själv och som används STIsValid() för att bekräfta att det är en ogiltig instans. STIsValid() returnerar värdet 0 för en ogiltig instans.

DECLARE @g geometry;  
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);  
SELECT @g.STIsValid();  

Det andra exemplet används MakeValid() för att göra instansen giltig och för att testa att instansen verkligen är giltig. STIsValid() returnerar värdet 1 för en giltig instans.

SET @g = @g.MakeValid();  
SELECT @g.STIsValid();  

Det tredje exemplet verifierar hur instansen har ändrats för att göra den till en giltig instans.

SELECT @g.ToString();  

I det här exemplet returneras värdena som en giltig MultiLineString instans när instansen LineString har valts.

MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))  

I följande exempel konverteras CircularString-instansen till en Point-instans.

DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';  
SELECT @g.MakeValid().ToString();  

See Also

STIsValid (geometridatatyp)
Utökade metoder för geometriinstanser