CurveToLineWithTolerance (geography 資料類型)
適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體
傳回包含圓弧線段之 geography 執行個體的多邊形近似值。
Syntax
.CurveToLineWithTolerance( tolerance, relative )
注意
若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件。
引數
tolerance
這是 double 運算式,用來定義原始圓弧線段與其線性近似值之間的最大誤差。
relative
這是一個 bool 運算式,用來指出是否要使用偏差的相對最大值。 如果 relative 為 false (0),則會設定線性近似值的偏差絕對最大值。 如果 relative 為 true (1),則會以容錯參數與空間物件週框方塊之直徑的乘積來計算容錯。
傳回型別
SQL Server 傳回類型:geography
CLR 傳回類型:SqlGeography
例外狀況
設定容錯 <= 0 會擲回 ArgumentOutOfRange 例外狀況。
備註
這個方法允許為結果 LineString 指定容錯量。
CurveToLineWithTolerance 方法將針對 CircularString 或 CompoundCurve 執行個體傳回 LineString 執行個體,而針對 CurvePolygon 執行個體傳回 Polygon 執行個體。
範例
A. 在 CircularString 執行個體上使用不同的容錯值
下列範例示範設定容錯如何影響從 CircularString
執行個體傳回的 LineString
執行個體:
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. 在包含一個 LineString 的 MultiLineString 執行個體上使用此方法
下列範例示範從只包含一個 MultiLineString
執行個體的 LineString
執行個體傳回的資料:
DECLARE @g geography;
SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
C. 在包含多個 LineString 的 MultiLineString 執行個體上使用此方法
下列範例示範從包含多個 MultiLineString
執行個體的 LineString
執行個體傳回的資料:
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. 為叫用 CurvePolygon 執行個體,將 relative 設為 true
下列範例使用 CurvePolygon
執行個體,在 relative 設為 true 時呼叫 CurveToLineWithTolerance()
:
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();
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應