書式
SDO_UTIL.REMOVE_DUPLICATE_VERTICES( geometry IN SDO_GEOMETRY, tolerance IN NUMBER ) RETURN SDO_GEOMETRY;
説明
重複する(冗長の)頂点をジオメトリから削除します。
パラメータ
重複する頂点を削除するジオメトリを指定します。
許容差(「許容差」を参照)。
使用上の注意
ジオメトリの2つの連続する頂点が、ジオメトリに関連付けられた許容差以内である場合、そのジオメトリは無効とみなされます。この場合、Spatial and Graphのジオメトリ検証ファンクションが、エラーORA-13356を戻します。REMOVE_DUPLICATE_VERTICESファンクションを使用すると、このような無効なジオメトリを有効なジオメトリに変更できます。
また、このファンクションによってポリゴンが閉じられ、輪の最初の頂点が最後の頂点と等しくなります。
このファンクションは、点ジオメトリ(方向付きの点を含む)ではサポートされません。
入力ジオメトリに重複する頂点が存在しない場合、入力ジオメトリが戻されます。
例
次の例では、cola_b (「空間データの挿入、索引付けおよび問合せの例」の図2-1および例2-1を参照)と同じジオメトリである入力ジオメトリから、重複する頂点を削除します。ただし、この例で使用するジオメトリは、2つ目の頂点(8,1)と同じ点である3つ目の頂点を追加することによって、意図的に無効な状態で作成されています。
SELECT SDO_UTIL.REMOVE_DUPLICATE_VERTICES( SDO_GEOMETRY( 2003, -- two-dimensional polygon NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring) SDO_ORDINATE_ARRAY(5,1, 8,1, 8,1, 8,6, 5,7, 5,1) -- 2nd and 3rd points -- are duplicates. ), 0.005 -- tolerance value ) FROM DUAL; SDO_UTIL.REMOVE_DUPLICATE_VERTICES(SDO_GEOMETRY(2003,--TWO-DIMENSIONALPOLYGONNUL -------------------------------------------------------------------------------- SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR AY(5, 1, 8, 1, 8, 6, 5, 7, 5, 1))
関連項目
なし。