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

前
次

23.16 SDO_GEOM.SDO_LENGTH

書式

SDO_GEOM.SDO_LENGTH(     
  geom  IN SDO_GEOMETRY,      
  dim   IN SDO_DIM_ARRAY      
  [, unit  IN VARCHAR2]      
  [, count_shared_edges  IN NUMBER]      
) RETURN NUMBER;

または

SDO_GEOM.SDO_LENGTH(     
  geom  IN SDO_GEOMETRY,      
  tol   IN NUMBER       
  [, unit  IN VARCHAR2]      
  [, count_shared_edges  IN NUMBER]      
) RETURN NUMBER;

説明

ジオメトリ・オブジェクトの周囲または長さを戻します。

パラメータ

geom

ジオメトリ・オブジェクト。

dim

geomに対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。

tol

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

unit

測定単位(unit=およびMDSYS.SDO_DIST_UNITS表のSDO_UNIT値を引用符で囲んだ文字列で、'unit=KM'など)を指定します。測定単位の指定の詳細は、「測定単位のサポート」を参照してください。

このパラメータを指定しない場合、データに関連付けられた測定単位が使用されます。測地データの場合、デフォルトの測定単位はmです。

count_shared_edges

(3次元のジオメトリにのみ適用)入力ジオメトリに完全にまたは部分的に共有されているエッジが含まれている場合に、エッジの共有部分の長さを合計するタイミングを指定します。この値には、1(1回ごとに合計する)または2(2回ごとに合計する)を指定します。デフォルトは1です。

このパラメータは、2次元の入力ジオメトリでは無視されます。

使用上の注意

指定したポリゴンに1つ以上の穴がある場合、外側の境界とすべての穴の周囲が計算されます。戻り値は、すべての周囲の合計です。

次の例では、COLA_MARKETS表に格納されているジオメトリ・オブジェクトのパラメータを戻します。最初の文ではすべてのオブジェクトの周囲を戻し、2番目の文ではcola_aの周囲のみを戻します。(例では、「空間データの挿入、索引付けおよび問合せの例」の定義およびデータを使用しています。)

-- Return the perimeters of all cola markets.
SELECT c.name, SDO_GEOM.SDO_LENGTH(c.shape, m.diminfo) 
  FROM cola_markets c, user_sdo_geom_metadata m 
  WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE';

NAME                             SDO_GEOM.SDO_LENGTH(C.SHAPE,M.DIMINFO)         
-------------------------------- --------------------------------------         
cola_a                                                               20         
cola_b                                                       17.1622777         
cola_c                                                       9.23606798         
cola_d                                                       12.5663706

-- Return the perimeter of just cola_a.
SELECT c.name, SDO_GEOM.SDO_LENGTH(c.shape, m.diminfo) 
  FROM cola_markets c, user_sdo_geom_metadata m 
  WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE' 
  AND c.name = 'cola_a';

NAME                             SDO_GEOM.SDO_LENGTH(C.SHAPE,M.DIMINFO)         
-------------------------------- --------------------------------------         
cola_a                                                               20

関連項目

なし。