MakeValid(geometry 데이터 형식)
적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance SQL 데이터베이스
잘못된 기하 도형 인스턴스를 유효한 OGC(Open Geospatial Consortium) 형식의 기하 도형 인스턴스로 변환합니다.
구문
.MakeValid ()
반환 형식
SQL Server 반환 형식: geometry
CLR 반환 형식: SqlGeometry
설명
이 메서드는 기하 도형 인스턴스의 형식이 변경될 뿐만 아니라 기하 도형 인스턴스의 점이 약간 이동하게 할 수 있습니다.
예제
첫 번째 예제에서는 자체와 겹치는 잘못된 LineString
인스턴스를 만들고 잘못된 인스턴스인지 확인하는 데 사용합니다 STIsValid()
. STIsValid()
는 잘못된 인스턴스의 값 0을 반환합니다.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
두 번째 예에서는 MakeValid()
를 사용하여 유효한 인스턴스를 만들고 이 인스턴스가 실제로 유효한지 테스트합니다. STIsValid()
는 유효한 인스턴스에 대해 1의 값을 반환합니다.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
세 번째 예제에서는 인스턴스가 유효한 인스턴스로 만들기 위해 변경된 방법을 확인합니다.
SELECT @g.ToString();
이 예에서는 LineString
인스턴스가 선택되면 값이 유효한 MultiLineString
인스턴스로 반환됩니다.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
다음 예제에서는 CircularString 인스턴스를 Point 인스턴스로 변환합니다.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();