다음을 통해 공유


STCurveN(geometry 데이터 형식)

LineString, CircularString, CompoundCurve 또는 MultiLineString인 geometry 인스턴스에서 지정한 곡선을 반환합니다.

구문

.STCurveN ( curve_index )

인수

  • curve_index
    1과 geometry 인스턴스에 있는 곡선 개수 사이의 int 식입니다.

반환 형식

SQL Server 반환 형식: geometry

CLR 반환 형식: SqlGeometry

예외

curve_index < 1일 경우 ArgumentOutOfRangeException이 발생합니다.

주의

다음 상황에서는 NULL이 반환됩니다.

  • geometry 인스턴스가 선언되지만 인스턴스화되지 않는 경우

  • geometry 인스턴스가 비어 있는 경우

  • curve_index가 geometry 인스턴스의 곡선 개수를 초과하는 경우

  • geometry 인스턴스가 Point, MultiPoint, Polygon, CurvePolygon 또는 MultiPolygon인 경우

1.CircularString 인스턴스에 STCurveN() 사용

다음 예에서는 CircularString 인스턴스에 두 번째 곡선을 반환합니다.

DECLARE @g geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';

SELECT @g.STCurveN(2).ToString();

이 항목의 이전 예에서는 다음을 반환합니다.

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

2.CircularString 인스턴스 하나와 함께 CompoundCurve 인스턴스에 STCurveN() 사용

다음 예에서는 CompoundCurve 인스턴스에 두 번째 곡선을 반환합니다.

DECLARE @g geometry = 'COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0))';

SELECT @g.STCurveN(2).ToString();

이 항목의 이전 예에서는 다음을 반환합니다.

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

3.CircularString 인스턴스 세 개와 함께 CompoundCurve 인스턴스에 STCurveN() 사용

다음 예에서는 별도의 CircularString 인스턴스 세 개를 이전 예와 동일한 곡선 시퀀스에 조합하는 CompoundCurve 인스턴스를 사용합니다.

DECLARE @g geometry = 'COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 2.1082, 3 6.3246), CIRCULARSTRING(3 6.3246, 0 7, -3 6.3246), CIRCULARSTRING(-3 6.3246, -1 2.1082, 0 0))';

SELECT @g.STCurveN(2).ToString();

이 항목의 이전 예에서는 다음을 반환합니다.

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

이전의 세 가지 예와 결과가 동일합니다. 같은 곡선 시퀀스를 입력하기 위해 어떤 WKT(Well-known Text) 형식을 사용하건 간에 CompoundCurve 인스턴스가 사용될 때 STCurveN()에서 반환하는 결과는 같습니다.

4.STCurveN() 호출 전 매개 변수 유효성 검사

다음 예에서는 STCurveN()메서드를 호출하기 전에 @n이 올바른지 확인하는 방법을 보여 줍니다.

DECLARE @g geometry;

DECLARE @n int;

SET @n = 3;

SET @g = geometry::Parse('CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)');

IF @n >= 1 AND @n <= @g.STNumCurves()

BEGIN

SELECT @g.STCurveN(@n).ToString();

END

참고 항목

참조

STNumCurves(geometry 데이터 형식)

관련 자료

geometry 인스턴스의 OGC 메서드