다음을 통해 공유


CurveToLineWithTolerance(geography 데이터 형식)

적용 대상: SQL ServerAzure SQL Database Azure SQL Managed Instance

원호 세그먼트를 포함하는 지리 인스턴스의 다각형 근사치를 반환합니다.

Syntax

  
.CurveToLineWithTolerance( tolerance, relative )  

참고 항목

SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

공차
원래 원호 세그먼트와 선형 근사값 사이의 최대 오차를 정의하는 이중 식입니다.

상대적인
편차에 상대적 최대값을 사용할지 여부를 나타내는 부울 식입니다. 상대가 false(0)이면 선형 근사값이 가질 수 있는 편차에 대해 절대 최대값이 설정됩니다. 극대값이 true(1)이면 허용 오차는 허용 오차 매개 변수와 공간 개체의 경계 상자 지름의 곱으로 계산됩니다.

반환 형식

SQL Server 반환 형식: geography

CLR 반환 형식: SqlGeography

예외

허용 오차 <= 0를 설정하면 ArgumentOutOfRange 예외가 발생합니다.

설명

이 메서드를 사용하면 결과 LineString에 대해 허용 오차 크기가 지정됩니다.

CurveToLineWithTolerance 메서드는 CircularString 또는 CompoundCurve 인스턴스에 대한 LineString 인스턴스와 CurvePolygon 인스턴스의 다각형 인스턴스를 반환합니다.

예제

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 인스턴스에서 메서드 사용

다음 예제에서는 하나의 LineString 인스턴스만 포함하는 인스턴스에서 MultiLineString 반환되는 항목을 보여 줍니다.

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 인스턴스에 메서드 사용

다음 예제에서는 둘 LineString 이상의 인스턴스가 MultiLineString 포함된 인스턴스에서 반환되는 항목을 보여 줍니다.

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 인스턴스에 대해 극대값을 true로 설정

다음 예제에서는 인스턴스를 사용하여 상대 집합이 CurvePolygon 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();

참고 항목

지리 인스턴스의 확장 메서드