다음을 통해 공유


CurveToLineWithTolerance(geography 데이터 형식)

적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance SQL 데이터베이스

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

구문

  
.CurveToLineWithTolerance( tolerance, relative )  

인수

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

상대적인
편차에 상대적 최대값을 사용할지 여부를 나타내는 부울 식입니다. 상대가 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();

참고 항목

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