Aracılığıyla paylaş


MakeValid (coğrafya Veri Türü)

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

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

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

Bu coğrafya veri türü yöntemi, Bir yarım küreden daha büyük Olan FullGlobe örneklerini veya uzamsal örnekleri destekler.

Syntax

  
.MakeValid ()  

Dönüş Türleri

SQL Server dönüş türü: coğrafya

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

Remarks

Bu yöntem coğrafya örneğinin türünü değiştirebilir. Buna ek olarak , coğrafya örneğinin noktaları biraz kayabilir. NumPoint() gibi bazı yöntemlerin sonuçları değişebilir.

Geçersiz uzamsal örneğin ekvator ile kesiştiği ve Bir EnvelopeAngle() = 180 olduğu durumlarda, bir FullGlobe örneği döndürülür. MakeValid() veri türü yöntemi geçerli örnekleri döndürmek için en iyi denemeyi yapar, ancak sonuçların doğru veya kesin olduğu garanti edilmemektedir.

Note

Geçerli olmayan nesneler veritabanında depolanabilir. Geçersiz örneklerde yürütülebilen yöntemler (STIsValid() false döndüren örnekler), geçerliliği denetleyen veya dışarı aktarmaya izin veren yöntemlerdir: STIsValid(), MakeValid(), STAsText(), STAsBinary(), ToString(), AsTextZM() ve AsGml().

Bu yöntem kesin değildir.

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

Ayrıca Bkz.

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