Udostępnij za pomocą


MakeValid (geometria typu danych)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Konwertuje nieprawidłowe wystąpienie geometrii na wystąpienie geometryczne z prawidłowym typem Open Geospatial Consortium (OGC).

Syntax

  
.MakeValid ()  

Typy zwracane

Zwracany typ programu SQL Server: geometria

Typ zwracania CLR: SqlGeometry

Remarks

Ta metoda może spowodować zmianę typu wystąpienia geometrii , a także spowodować nieznaczne przesunięcie punktów wystąpienia geometrii .

Examples

Pierwszy przykład tworzy nieprawidłowe LineString wystąpienie, które nakłada się na siebie i używa STIsValid() go do potwierdzenia, że jest to nieprawidłowe wystąpienie. STIsValid() Zwraca wartość 0 dla nieprawidłowego wystąpienia.

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

W drugim przykładzie użyto MakeValid() metody , aby wystąpienie było prawidłowe i sprawdzić, czy wystąpienie jest rzeczywiście prawidłowe. STIsValid() Zwraca wartość 1 dla prawidłowego wystąpienia.

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

Trzeci przykład sprawdza, jak wystąpienie zostało zmienione, aby było prawidłowe wystąpienie.

SELECT @g.ToString();  

W tym przykładzie po wybraniu LineString wystąpienia wartości są zwracane jako prawidłowe MultiLineString wystąpienie.

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

Poniższy przykład konwertuje wystąpienie CircularString na wystąpienie punktu.

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

Zobacz też

STIsValid (typ danych geometrycznych)
Metody rozszerzone w wystąpieniach geometrycznych