CurveToLineWithTolerance(geometry 데이터 형식)
적용 대상: 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 반환 형식: geometry
CLR 반환 형식: SqlGeometry
예외
허용 오차를 <= 0으로 설정하면 ArgumentOutOfRange
예외가 발생합니다.
설명
이 메서드는 결과 LineString에 대한 오차 범위를 지정할 수 있습니다.
다음 표에서는 여러 유형에 대해 CurveToLineWithTolerance()
에서 반환하는 인스턴스 유형을 보여 줍니다.
인스턴스 유형 호출 | 반환되는 공간 유형 |
---|---|
빈 기하 도형 인스턴스 | 빈 GeometryCollection 인스턴스 |
지점 및 MultiPoint | 지점 인스턴스 |
MultiPoint | 지점 또는 MultiPoint 인스턴스 |
CircularString, CompoundCurve 또는 LineString | LineString 인스턴스 |
MultiLineString | LineString 또는 MultiLineString 인스턴스 |
CurvePolygon 및 다각형 | 다각형 인스턴스 |
MultiPolygon | 다각형 또는 MultiPolygon 인스턴스 |
원호 세그먼트를 포함하지 않는 단일 인스턴스가 있는 GeometryCollection | GeometryCollection에 포함된 인스턴스는 반환되는 인스턴스의 형식을 결정합니다. |
단일 1차원 원호 세그먼트 인스턴스가 있는 GeometryCollection(CircularString, CompoundCurve) | LineString 인스턴스 |
단일 2차원 원호 세그먼트 인스턴스가 있는 GeometryCollection (CurvePolygon) | 다각형 인스턴스 |
1차원 인스턴스가 여러 개 있는 GeometryCollection | MultiLineString 인스턴스 |
여러 2차원 인스턴스가 있는 GeometryCollection | MultiPolygon 인스턴스 |
서로 다른 차원의 여러 인스턴스가 있는 GeometryCollection | GeometryCollection 인스턴스 |
예제
A. CircularString 인스턴스에서 다른 허용 오차 값 사용
다음 예제에서는 허용 오차를 설정하면 인스턴스에서 CircularString
반환된 인스턴스에 LineString
미치는 영향을 보여 줍니다.
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. 하나의 LineString을 포함하는 MultiLineString 인스턴스에서 메서드 사용
다음 예제에서는 하나의 LineString
인스턴스만 포함하는 인스턴스에서 MultiLineString
반환되는 항목을 보여 줍니다.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((1 3, 4 8, 6 9))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
C. 여러 LineString을 포함하는 MultiLineString 인스턴스에 메서드 사용
다음 예제에서는 둘 LineString
이상의 인스턴스가 MultiLineString
포함된 인스턴스에서 반환되는 항목을 보여 줍니다.
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. 호출하는 CurvePolygon 인스턴스에 대해 극대값을 true로 설정
다음 예제에서는 인스턴스를 사용하여 상대 집합이 CurvePolygon
true로 설정된 상태에서 호출 CurveToLineWithTolerance()
합니다.
DECLARE @g geometry = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 4, 4 0, 8 4), (8 4, 0 4)))';
SELECT @g.CurveToLineWithTolerance(.5,1).ToString();
E. GeometryCollection 인스턴스에서 메서드 사용
다음 예제에서는 2차원 인스턴스와 1차원 인스턴스를 포함하는 인스턴스를 호출 CurveToLineWithTolerance()
GeometryCollection
합니다CircularString
.CurvePolygon
CurveToLineWithTolerance()
는 두 원호 세그먼트 형식을 선 세그먼트 형식으로 변환하고 형식으로 GeometryCollection
반환합니다.
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();
참고 항목
CurveToLineWithTolerance(geography 데이터 형식)
STCurveToLine(geometry 데이터 형식)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기