STCurveToLine(geometry 데이터 형식)
적용 대상: Microsoft Fabric의 SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL 데이터베이스
원호 세그먼트를 포함하는 기하 도형 인스턴스의 다각형 근사치를 반환합니다.
구문
.STCurveToLine ( )
반환 형식
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(기하학 데이터 형식)
STNumPoints(geometry 데이터 형식)
STGeometryType(geometry 데이터 형식)