Megosztás a következőn keresztül:


MakeValid (geometriai adattípus)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Érvénytelen geometriai példányt alakít át érvényes Open Geospatial Consortium (OGC) típusú geometriai példánysá.

Syntax

  
.MakeValid ()  

Visszatérési típusok

SQL Server visszatérési típusa: geometria

CLR visszatérési típus: SqlGeometry

Remarks

Ez a módszer a geometriapéldány típusának megváltozását, valamint a geometriai példány pontjainak kismértékű eltolódását okozhatja.

Examples

Az első példa egy érvénytelen LineString példányt hoz létre, amely átfedésben van önmagával, és annak ellenőrzésére használja STIsValid() , hogy érvénytelen példány-e. STIsValid() Érvénytelen példány esetén a 0 értéket adja vissza.

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

A második példa a példány érvényességének ellenőrzésére és a példány érvényességének ellenőrzésére használható MakeValid() . STIsValid() Egy érvényes példány esetében az 1 értéket adja vissza.

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

A harmadik példa ellenőrzi, hogy a példány hogyan lett módosítva, hogy érvényes példány legyen.

SELECT @g.ToString();  

Ebben a példában, amikor a LineString példány ki van jelölve, a rendszer érvényes MultiLineString példányként adja vissza az értékeket.

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

Az alábbi példa pontpéldánysá alakítja a CircularString-példányt.

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

Lásd még:

STIsValid (geometriai adattípus)
Kiterjesztett módszerek geometriai példányokon