CurveToLineWithTolerance(geometry 데이터 형식)
적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance SQL 데이터베이스
원호 세그먼트를 포함하는 기하 도형 인스턴스의 다각형 근사치를 반환합니다.
구문
.CurveToLineWithTolerance ( tolerance, relative )
인수
공차
원래 원호 세그먼트와 선형 근사값 사이의 최대 오차를 정의하는 이중 식입니다.
상대적인
편차에 상대적 최대값을 사용할지 여부를 나타내는 부울 식입니다. 상대가 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 데이터 형식)