STCurveToLine(geometry 데이터 형식)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL 분석 엔드포인트

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

Syntax

  
.STCurveToLine ( )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

반환 형식

SQL Server 반환 형식: geometry

CLR 반환 형식: SqlGeometry

설명

빈 geometry 인스턴스 변수에 대한 빈 GeometryCollection인스턴스를 반환하고 초기화되지 않은 기하 도형 변수에 대해 NULL을 반환합니다.

메서드가 반환하는 다각형 근사값은 메서드를 호출하는 데 사용하는 기하 도형 인스턴스에 따라 달라집니다.

  • CircularString 또는 CompoundCurve 인스턴스에 대한 LineString 인스턴스를 반환합니다.

  • CurvePolygon 인스턴스에 대한 Polygon 인스턴스를 반환합니다.

  • 해당 인스턴스가 CircularString, CompoundCurve 또는 CurvePolygon 인스턴스가 아닌 경우 기하 도형 인스턴스의 복사본을 반환합니다. 예를 들어 이 메서드는 STCurveToLine Point 인스턴스인 기하 도형 인스턴스에 대한 Point 인스턴스를 반환합니다.

SQL/MM 사양 STCurveToLine 과 달리 이 메서드는 z 좌표 값을 사용하여 다각형 근사치를 계산하지 않습니다. 메서드는 호출 기하 도형 인스턴스에 있는 모든 z 좌표 값을 무시합니다 .

예제

A. 초기화되지 않은 기하 도형 변수 및 빈 인스턴스 사용

다음 예제에서 첫 번째 SELECT 문은 초기화 되지 않은 기하 도형 인스턴스를 사용하여 메서드를 호출 STCurveToLine 하고 두 번째 SELECT 문은 빈 기하 도형 인스턴스를 사용합니다. 따라서 메서드는 첫 번째 문에 NULL을 반환하고 두 번째 문에 GeometryCollection 컬렉션을 반환합니다.

 DECLARE @g geometry; 
 SET @g = @g.STCurveToLine(); 
 SELECT @g.STGeometryType(); 
 SET @g = geometry::Parse('LINESTRING EMPTY'); 
 SELECT @g.STGeometryType();

B. LineString 인스턴스 사용

다음 예제의 SELECT 문은 LineString 인스턴스를 사용하여 STCurveToLine 메서드를 호출합니다. 따라서 이 메서드는 LineString 인스턴스를 반환합니다 .

 DECLARE @g geometry; 
 SET @g = geometry::Parse('LINESTRING(1 3, 5 5, 4 3, 1 3)'); 
 SET @g = @g.STCurveToLine(); 
 SELECT @g.STGeometryType();

C. CircularString 인스턴스 사용

다음 예의 SELECT 문은 CircularString 인스턴스를 사용하여 STCurveToLine 메서드를 호출합니다. 따라서 이 메서드는 LineString 인스턴스를 반환합니다 . 또한 이 SELECT 문은 거의 같은 두 인스턴스의 길이를 비교합니다. 마지막으로 두 번째 SELECT 문은 각 인스턴스에 대한 포인트 수를 반환합니다. CircularString 인스턴스의 경우 5포인트만 반환하지만 LineString 인스턴스의 경우 65포인트를 반환합니다.

 DECLARE @g1 geometry, @g2 geometry; 
 SET @g1 = geometry::Parse('CIRCULARSTRING(10 0, 0 10, -10 0, 0 -10, 10 0)'); 
 SET @g2 = @g1.STCurveToLine(); 
 SELECT @g1.STGeometryType() AS [G1 Type], @g2.STGeometryType() AS [G2 Type], @g1.STLength() AS [G1 Perimeter], @g2.STLength() AS [G2 Perimeter], @g2.ToString() AS [G2 Def]; 
 SELECT @g1.STNumPoints(), @g2.STNumPoints();

D. CurvePolygon 인스턴스 사용

다음 예제의 SELECT 문은 CurvePolygon 인스턴스를 사용하여 STCurveToLine 메서드를 호출합니다. 따라서 메서드는 Polygon 인스턴스를 반환합니다.

 DECLARE @g1 geometry, @g2 geometry; 
 SET @g1 = geometry::Parse('CURVEPOLYGON(CIRCULARSTRING(10 0, 0 10, -10 0, 0 -10, 10 0))'); 
 SET @g2 = @g1.STCurveToLine(); 
 SELECT @g1.STGeometryType() AS [G1 Type], @g2.STGeometryType() AS [G2 Type];

참고 항목

공간 데이터 형식 개요
STLength(geometry 데이터 형식)
STNumPoints(geometry 데이터 형식)
STGeometryType(geometry 데이터 형식)