다음을 통해 공유


MakeValid(geometry 데이터 형식)

적용 대상: SQL ServerAzure SQL Database Azure SQL Managed Instance

잘못된 기하 도형 인스턴스를 유효한 OGC(Open Geospatial Consortium) 형식의 기하 도형 인스턴스로 변환합니다.

Syntax

  
.MakeValid ()  

참고 항목

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

반환 형식

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();  

참고 항목

STIsValid(geometry 데이터 형식)
Geometry 인스턴스의 확장 메서드