MakeValid (Tipe Data geometri)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengonversi instans geometri yang tidak valid menjadi instans geometri dengan jenis Open Geospatial Consortium (OGC) yang valid.

Sintaksis

  
.MakeValid ()  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Jenis Kembalian

Jenis pengembalian SQL Server: geometri

Jenis pengembalian CLR: SqlGeometry

Keterangan

Metode ini dapat menyebabkan perubahan jenis instans geometri , serta menyebabkan titik instans geometri sedikit bergeser.

Contoh

Contoh pertama membuat instans yang tidak valid LineString yang tumpang tindih dan menggunakan untuk mengonfirmasi bahwa instans tersebut adalah instans STIsValid() yang tidak valid. STIsValid() mengembalikan nilai 0 untuk instans yang tidak valid.

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

Contoh kedua menggunakan untuk membuat instans MakeValid() valid dan untuk menguji bahwa instans memang valid. STIsValid() mengembalikan nilai 1 untuk instans yang valid.

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

Contoh ketiga memverifikasi bagaimana instans telah diubah untuk menjadikannya instans yang valid.

SELECT @g.ToString();  

Dalam contoh ini, ketika LineString instans dipilih, nilai dikembalikan sebagai instans yang valid MultiLineString .

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

Contoh berikut mengonversi instans CircularString menjadi instans Point.

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

Lihat Juga

STIsValid (Tipe Data geometri)
Metode yang Diperluas pada Instans Geometri