MakeValid(geometry 데이터 형식)

적용 대상:SQL ServerAzure SQL DatabaseAzure 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 인스턴스의 확장 메서드