STCurveN(geography 데이터 형식)
LineString, CircularString 또는 CompoundCurve인 geography 인스턴스에서 지정한 곡선을 반환합니다.
구문
.STCurveN( n )
인수
- n
1과 geography 인스턴스에 있는 곡선 개수 사이의 int 식입니다.
반환 형식
SQL Server 반환 형식: geography
CLR 반환 형식: SqlGeography
예외
n < 1일 경우 ArgumentOutOfRangeException이 발생합니다.
주의
다음 조건에서는 NULL이 반환됩니다.
geography 인스턴스가 선언되지만 인스턴스화되지 않는 경우
geography 인스턴스가 비어 있는 경우
n이 geography 인스턴스에 있는 곡선 개수를 초과하는 경우(STNumCurves(geography 데이터 형식) 참조)
geography 인스턴스의 차원이 동일하지 않은 경우(STDimension(geography 데이터 형식) 참조)
예
1.CircularString에 STCurveN() 사용
다음 예에서는 CircularString 인스턴스에 두 번째 곡선을 반환합니다.
DECLARE @g geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.STCurveN(2).ToString();
이 예에서는 다음을 반환합니다.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
2.CompoundCurve에 STCurveN() 사용
다음 예에서는 CompoundCurve 인스턴스에 두 번째 곡선을 반환합니다.
DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STCurveN(2).ToString();
이 예에서는 다음을 반환합니다.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
3.세 개의 CircularString이 포함된 CompoundCurve에 STCurveN() 사용
다음 예에서는 별도의 CircularString 인스턴스 세 개를 이전 예와 동일한 곡선 시퀀스에 조합하는 CompoundCurve 인스턴스를 사용합니다.
DECLARE @g geography = 'COMPOUNDCURVE (CIRCULARSTRING (-122.358 47.653, -122.348 47.649, -122.348 47.658), CIRCULARSTRING(-122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STCurveN(2).ToString();
이 예에서는 다음을 반환합니다.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
STCurveN()은 사용되는 WKT(Well-Known Text) 형식과 관계없이 같은 결과를 반환합니다.
4.STCurve()를 호출하기 전에 유효성 테스트
다음 예에서는 STCurveN() 메서드를 호출하기 전에 n이 올바른지 확인하는 방법을 보여 줍니다.
DECLARE @g geography;
DECLARE @n int;
SET @n = 2;
SET @g = geography::Parse('LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');
IF @n >= 1 AND @n <= @g.STNumCurves()
BEGIN
SELECT @g.STCurveN(@n).ToString();
END