プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

31.29 SDO_UTIL.REMOVE_DUPLICATE_VERTICES

書式

SDO_UTIL.REMOVE_DUPLICATE_VERTICES(
     geometry  IN SDO_GEOMETRY, 
     tolerance IN NUMBER 
     ) RETURN SDO_GEOMETRY;

説明

重複する(冗長の)頂点をジオメトリから削除します。

パラメータ

geometry

重複する頂点を削除するジオメトリを指定します。

tolerance

許容差(「許容差」を参照)。

使用上の注意

ジオメトリの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))

関連項目

なし。