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ı
Verilen toleransla örnekte Douglas-Peucker algoritmasını çalıştırarak oluşturulan belirli coğrafya örneğinin yaklaşık değerini döndü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
.Reduce ( tolerance )
Arguments
| Term | Definition |
|---|---|
| tolerance | Float türünde bir değerdir. tolerans , Douglas-Peucker algoritmasına giriş toleransıdır. tolerans pozitif bir sayı olmalıdır. |
Dönüş Türleri
SQL Server dönüş türü: coğrafya
CLR dönüş türü: SqlGeography
Remarks
Koleksiyon türleri için bu algoritma, örneğin içerdiği her coğrafyada bağımsız olarak çalışır. Bu algoritma , Nokta örneklerini değiştirmez.
Bu yöntem LineString örneklerinin uç noktalarını korumaya çalışır, ancak geçerli bir sonucu korumak için bunu yapamaz.
Negatif bir değerle çağrılırsa Reduce() , bu yöntem bir ArgumentException oluşturur. içinde Reduce() kullanılan toleranslar pozitif sayılar olmalıdır.
Douglas-Peucker algoritması, başlangıç noktası ve bitiş noktası dışındaki tüm noktaları kaldırarak coğrafya örneğindeki her eğri veya halka üzerinde çalışır. Ardından kaldırılan her nokta, en uzak dışlama noktasından başlayarak, hiçbir nokta sonuçtan daha fazla tolerans olana kadar geri eklenir. Sonuç daha sonra gerekirse geçerli hale getirilir, geçerli bir sonuç garanti edilir.
SQL Server 2012'de (11.x), bu yöntem FullGlobe örneklerine genişletilmiştir.
Bu yöntem kesin değildir.
Examples
Aşağıdaki örnek bir LineString örnek oluşturur ve örneği basitleştirmek için kullanır Reduce() .
DECLARE @g geography = 'LineString(120 45, 120.1 45.1, 199.9 45.2, 120 46)'
SELECT @g.Reduce(10000).ToString()