Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft 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