Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-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