Aracılığıyla paylaş


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ü)

Diğer Kaynaklar

Genişletilmiş yöntemleri üzerinde Geometry örnekleri