Aracılığıyla paylaş


MakeValid (geometri Veri Türü)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Geçersiz bir geometri örneğini geçerli bir Open Geospatial Consortium (OGC) türüne sahip bir geometri örneğine dönüştürür.

Syntax

  
.MakeValid ()  

Dönüş Türleri

SQL Server dönüş türü: geometri

CLR dönüş türü: SqlGeometry

Remarks

Bu yöntem , geometri örneğinin türünde bir değişikliğe ve bir geometri örneğinin noktalarının biraz kaymasına neden olabilir.

Examples

İlk örnek, kendisiyle çakışan ve geçersiz LineString bir örnek olduğunu onaylamak için kullanan STIsValid() geçersiz bir örnek oluşturur. STIsValid() geçersiz bir örnek için 0 değerini döndürür.

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

İkinci örnek, örneği geçerli hale getirmek ve örneğin gerçekten geçerli olup olmadığını test etmek için kullanır MakeValid() . STIsValid() geçerli bir örnek için 1 değerini döndürür.

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

Üçüncü örnek, örneğin geçerli bir örnek olması için nasıl değiştirildiğini doğrular.

SELECT @g.ToString();  

Bu örnekte, LineString örnek seçildiğinde değerler geçerli MultiLineString bir örnek olarak döndürülür.

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

Aşağıdaki örnek, CircularString örneğini bir Point örneğine dönüştürür.

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

Ayrıca Bkz.

STIsValid (geometri Veri Türü)
Geometri Örneklerinde Genişletilmiş Yöntemler