MakeValid(geometry 데이터 형식)
잘못된 geometry 인스턴스를 유효한 OGC(Open Geospatial Consortium) 형식의 geometry 인스턴스로 변환합니다.
구문
.MakeValid ()
반환 형식
SQL Server 반환 형식: geometry
CLR 반환 형식: SqlGeometry
주의
이 메서드로 인해 geometry 인스턴스의 점이 약간 변경될 수 있을 뿐만 아니라 geometry 인스턴스의 형식 자체가 변경될 수 있습니다.
예
첫 번째 예에서는 자체적으로 겹치는 잘못된 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();