CurveToLineWithTolerance (coğrafi konum veri türü)
Çokgen bir yaklaşım döndüren bir geographycircular arc parçalarını içeren örneği.
Sözdizimi
.CurveToLineWithTolerance( tolerance, relative )
Bağımsız değişkenler
tolerance
Olan bir doubleen büyük hata, Doğrusal yaklaşım arasındaki özgün circular arc segment tanımlayan ifade.relative
Olan bir boolgöreli maksimum sapma için kullanılıp kullanılmayacağını belirten ifade. Göreli yanlış (0) olarak ayarlandığında, bir mutlak Maksimum sapma için ayarlanır, bir doğrusal yaklaşık olabilir olması. Ne zaman göreceli tolerans kayma nesnenin sınırlayıcı kutusunun çapı ve hoşgörü parametre bir ürün olarak hesaplanır (1) true olarak ayarlanır.
Dönüş Türleri
SQL Server dönüş türü: geography
clr döndürme türü:SqlGeography
Kural dışı durumlar
Tolerans ayarlama <= 0 atar bir ArgumentOutOfRangeistisna.
Açıklamalar
Bu yöntem, sonuç için belirtilecek bir hata toleransı miktar tanır LineString.
CurveToLineWithToleranceyöntem döndürür bir LineStringörnek bir CircularStringya CompoundCurveörneği ve Polygonörnek bir CurvePolygonörneği.
Örnekler
A.Bir CircularString örneği farklı Tolerans değerleri kullanma
Aşağıdaki örnek, nasıl ayar tolerans etkiler gösterir LineString döndürülen örnek bir CircularStringörneği:
DECLARE @g geography;
SET @g = geography::Parse('CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');
SELECT @g.CurveToLineWithTolerance(0.1,0).STNumPoints(), @g.CurveToLineWithTolerance(0.01, 0).STNumPoints();
B.Bir LineString içeren bir geometrisiMultiLineString örneğinin yöntemini kullanarak
Aşağıdaki örnek ne dönen gösterir bir MultiLineStringyalnızca birini içeren örnek LineStringörneği:
DECLARE @g geography;
SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
C.Birden fazla LineStrings içeren bir geometrisiMultiLineString örneğinin yöntemini kullanarak
Aşağıdaki örnek ne dönen gösterir bir MultiLineStringiçeren birden çok örneğini LineStringörneği:
DECLARE @g geography;
SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649),(-123.358 47.653, -123.348 47.649))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
D.Çağırma CurvePolygon örneği için true değerine göre ayarlama
Aşağıdaki örnek bir CurvePolygonaramak için örnek CurveToLineWithTolerance()ile relativetrue olarak ayarlayın:
DECLARE @g geography = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658), (-122.348 47.658, -122.358 47.658, -122.358 47.653)))';
SELECT @g.CurveToLineWithTolerance(.5,1).ToString();