MakeValid (geometry データ型)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
無効な geometry インスタンスを有効な Open Geospatial Consortium (OGC) 型の geometry インスタンスに変換します。
構文
.MakeValid ()
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
戻り値の型
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();
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示