Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza 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