MakeValid (geometri veri türü)
Geçersiz bir dönüştüren geometryiçine örnek bir geometryile geçerli bir Aç Geospatial Consortium (ogc) türü örneği.
Sözdizimi
.MakeValid ()
Dönüş Türleri
SQL Server dönüş türü: geometry
clr döndürme türü: SqlGeometry
Açıklamalar
Bu yöntem türü içinde bir değişiklik neden olabilir geometryörnek olarak noktaları neden bir geometrybiraz vardiya örneği.
Örnekler
Geçersiz bir ilk örnek oluşturur LineStringkendisi ile çakışıyor ve kullanır örnek STIsValid()geçersiz örneği olduğunu onaylamak için. STIsValid()geçersiz örneği 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();
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
İkinci örnek MakeValid()örneği geçerli yapmak ve örnek gerçekten geçerli olup olmadığını sınamak için. STIsValid()Geçerli örneği için 1 değerini döndürür.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
Üçüncü örnek, geçerli bir örnek yapmak için örnek nasıl değiştirildi doğrular.
SELECT @g.ToString();
SELECT @g.ToString();
Bu örnekte, ne zaman LineStringörneği seçilir, değerleri geçerli döndürülür MultiLineStringörneği.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
Aşağıdaki örnek CircularString örneği bir nokta örneğine dönüştürür.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Ayrıca bkz.
Başvuru
STIsValid (geometri veri türü)