35.9 SDO_UTIL.DENSIFY_GEOMETRY

書式

SDO_UTIL.DENSIFY_GEOMETRY(
     geometry  IN SDO_GEOMETRY, 
     interval  IN NUMBER DEFAULT 5000 
     ) RETURN SDO_GEOMETRY;

説明

間隔値に基づいて入力ジオメトリを稠密化します。

パラメータ

geometry

稠密化するジオメトリ・オブジェクト。

interval

ジオメトリの稠密化に使用される間隔値。正の数字を指定する必要があります。(ゼロまたは負の数を指定すると、入力ジオメトリが返されます。)デフォルトは5000です。測地ジオメトリの場合、デフォルトは5000mです。

使用上のノート

このファンクションでは、指定された間隔より線分が長くならないようにポイントを追加して、入力ジオメトリを稠密化します。

このファンクションは、大円補間の曲率を表示することによって平面地図上に長い測地線を表示する場合に便利です。平らな地図つまり平面地図上に測地ジオメトリを表示する場合、このファンクションは、頂点を直線で接続するかわりに線ストリングまたはポリゴンに沿って頂点間の測地パスを表示するのに役立ちます。 稠密化は、測地パスに沿って実行されます。

次の例では、入力ジオメトリを稠密化します。(説明的なコメントが出力に追加されます。)

SELECT SDO_UTIL.DENSIFY_GEOMETRY(
  SDO_GEOMETRY(2004, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1, 5, 1, 1),
  SDO_ORDINATE_ARRAY(-78.24299, 31.50939, -31.99998, 31.51001, -64.6683, 32.38425)), 1000000)
FROM DUAL;

SDO_UTIL.DENSIFY_GEOMETRY(SDO_GEOMETRY(2004,8307,NULL,SDO_ELEM_INFO_ARRAY(1,2,1,
--------------------------------------------------------------------------------
SDO_GEOMETRY(2004, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1, 13, 1, 1), 
SDO_ORDINATE_ARRAY(-78.24299, 31.50939, -67.77851, 33.0389493, -57.05549, 33.6714211,    
-46.2911, 33.3720604, -35.71139, 32.1574866, -31.99998, 31.51001,  /* 4 points are added inside the long line */ 
-64.6683, 32.38425)) /* single point is still the same as before */

関連トピック