MakeValid (geometry 資料類型)
將無效的 geometry 例項轉換成具有有效開放式地理空間協會 (Open Geospatial Consortium,OGC) 類型的 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))