Aracılığıyla paylaş


MakeValid (coğrafi konum veri türü)

Dönüştüren bir geographyörnek, geçerli bir geçerli değil geographyile geçerli bir Aç Geospatial Consortium (ogc) türü örneği.

Bir giriş nesnesi False döndürürse STIsValid(), MakeValid()için geçerli bir örneği geçersiz örneği dönüştürür.

Bu coğrafi konum veri türü yöntemi destekler FullGlobeörnekleri veya bir Yarımküre büyük kayma örnekleri.

Sözdizimi

.MakeValid ()

Dönüş Türleri

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

clr döndürme türü: SqlGeography

Açıklamalar

Bu yöntem türü değişebilir geographyörneği. Buna ek olarak, noktaları bir geographyörneği biraz kayması. Bazı yöntemleri gibi sonuçlar **NumPoint()**değişebilir.

Burada geçersiz kayma örneği Ekvator kesişiyor ve sahip durumda bir EnvelopeAngle()= 180, bir FullGlobeörneği döndürülür. MakeValid() geographyVeri türü yöntemi geçerli örnekleri dönen en iyi girişim yapacak ama sonuçları doğru ya da kesin garanti edilmez.

[!NOT]

Geçersiz nesne veritabanında depolanabilir. Geçersiz örnekleri üzerinde yapılabilecek yöntemler (kendisi bu örnekleri STIsValid()False döndürür) geçerliliğini denetleyin veya dışa aktarmak için izin veren yöntem vardır: STIsValid(), MakeValid(), STAsText(), STAsBinary(), ToString(), AsTextZM(), ve AsGml().

Bu yöntem kesin değildir.

Ö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 geography;
SET @g = geography::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 4326);
SELECT @g.STIsValid();

DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 4326);
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))

Ayrıca bkz.

Başvuru

STIsValid (geometri veri türü)

Diğer Kaynaklar

Coğrafya örnekleri üzerinde Genişletilmiş yöntemleri