CurveToLineWithTolerance (geometri veri türü)
Çokgen bir yaklaşım döndüren bir geometrycircular 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ü: geometry
clr döndürme türü:SqlGeometry
Kural dışı durumlar
Tolerans ayarlama <= 0 atar bir ArgumentOutOfRangeistisna.
Açıklamalar
Bu yöntem, sonuç bir hata toleransı tutarı belirtebilirsiniz LineString.
Aşağıdaki tabloda, döndürülen örnek türü gösterilmektedir CurveToLineWithTolerance()için çeşitli.
Örnek türü çağırma |
Kayma türü döndürdü |
---|---|
Boş geometrisi örneği |
Boş GeometryCollectionörneği |
Point ve MultiPoint |
Pointörneği |
MultiPoint |
Pointveya MultiPointörneği |
CircularString, CompoundCurve, or LineString |
LineStringörneği |
MultiLineString |
LineStringveya MultiLineStringörneği |
CurvePolygon ve Polygon |
Polygonörneği |
MultiPolygon |
Polygonveya MultiPolygonörneği |
GeometryCollectioncircular arc segment içermeyen tek bir örneği ile |
Bulunan örnek GeometryCollectiondöndürülen örneği türünü belirler. |
GeometryCollectionbir tek tek boyutlu circular arc kesimi örneği (CircularString, CompoundCurve) |
LineStringörneği |
GeometryCollectionbir tek boyutlu circular arc kesimi örneği (CurvePolygon) |
Polygonörneği |
GeometryCollectionbirden çok tek boyutlu örnekleri ile |
MultiLineStringörneği |
GeometryCollectionbirden fazla iki boyutlu örnekleri |
MultiPolygonörneği |
GeometryCollectionbirden farklı boyutları ile |
GeometryCollectionö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 geometry;
SET @g = geometry::Parse('CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)');
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 geometry;
SET @g = geometry::Parse('MULTILINESTRING((1 3, 4 8, 6 9))');
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 geometry;
SET @g = geometry::Parse('MULTILINESTRING((1 3, 4 8, 6 9),(4 4, 9 18))');
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 geometry = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 4, 4 0, 8 4), (8 4, 0 4)))';
SELECT @g.CurveToLineWithTolerance(.5,1).ToString();
E.GeometryCollection örneğinde yöntemini kullanarak
Aşağıdaki örnek çağrıları CurveToLineWithTolerance()üzerinde bir GeometryCollectioniçeren bir iki boyutlu CurvePolygonörneği ve bir tek boyutlu CircularStringörneği. CurveToLineWithTolerance()hem circular arc kesimi türlerini çizgi bölütü türlerine dönüştürür ve bunları döndüren bir GeometryCollectiontürü.
DECLARE @g geometry;
SET @g = geometry::Parse('GEOMETRYCOLLECTION(CURVEPOLYGON( COMPOUNDCURVE(CIRCULARSTRING(0 2, 2 0, 4 2), (4 2, 0 2))), CIRCULARSTRING(4 4, 8 6, 9 5))');
SELECT @g.CurveToLineWithTolerance(0.1,0).STNumPoints(), @g.CurveToLineWithTolerance(0.1, 0).ToString();