書式
SDO_UTIL.CIRCLE_POLYGON( point IN SDO_GEOMETRY, radius IN NUMBER, arc_tolerance IN NUMBER, start_azimuth IN NUMBER DEFAULT NULL, end_azimuth IN NUMBER DEFAULT NULL, orientation IN NUMBER DEFAULT NULL, arc IN NUMBER DEFAULT NULL ) RETURN SDO_GEOMETRY;
または
SDO_UTIL.CIRCLE_POLYGON( center_longitude IN NUMBER, center_latitude IN NUMBER, radius IN NUMBER, arc_tolerance IN NUMBER ) RETURN SDO_GEOMETRY;
または
SDO_UTIL.CIRCLE_POLYGON( center_longitude IN NUMBER, center_latitude IN NUMBER, radius IN NUMBER, start_azimuth IN NUMBER, end_azimuth IN NUMBER, arc_tolerance IN NUMBER ) RETURN SDO_GEOMETRY;
説明
測地座標系内の円および円弧のポリゴンまたは折れ線近似処理を作成します。
最初の形式では、出力を完全に制御できます。
2番目の形式では、指定された円に近似するか、または覆われるポリゴン・ジオメトリを戻します。
3番目の形式では、開始方位から終了方位までの円の境界(円弧)を近似処理する線ジオメトリを戻します。
パラメータ
円の中心です。測地座標系の点ジオメトリである必要があります。戻されるジオメトリは同じ座標系にあります。
戻されるジオメトリの作成に使用する円の中心経度(度)を指定します。
戻されるジオメトリの作成に使用する円の中心緯度(度)を指定します。
戻されるジオメトリの作成に使用する円の半径(m)を指定します。
ポリゴン・ジオメトリの作成に使用する数値を指定します。arc_tolerance
パラメータ値の意味および使用上のガイドラインは、SDO_GEOM.SDO_ARC_DENSIFYファンクションのparams
パラメータ文字列のarc_tolerance
キーワード値と同じです。ジオメトリに関連付けられた測定単位が、arc_tolerance
パラメータ値に関連付けられます。(詳細は、「SDO_GEOMパッケージ(ジオメトリ)」のSDO_GEOM.SDO_ARC_DENSIFYファンクションの「使用上の注意」を参照してください。)
円弧の開始角(単位: 度)。真南から反時計回りに測定した値です。
start_azimuth
およびend_azimuth
がnullの場合の動作は、近似処理するポリゴン・ジオメトリを戻し、指定した円に覆われる2番目の形式と同等です。
円弧の終了角(単位: 度)。真南から反時計回りに測定した値です。orientation
が明示的に指定されていない場合、円弧は、end_azimuth
がstart_azimuth
より大きい場合は円のstart_azimuth
からの反時計回りのセクションになり、end_azimuth
がstart_azimuth
より小さい場合は時計回りのセクションになります。
start_azimuth
およびend_azimuth
がnullの場合の動作は、近似処理するポリゴン・ジオメトリを戻し、指定した円に覆われる2番目の形式と同等です。
start_azimuth
からend_azimuth
までの円のどの部分が使用されるかを制御します。これは、出力の方向ではなく、戻される出力の形状を制御します。戻されるポリゴンは常に反時計回りの方向で、戻される円弧は常にstart_azimuth
からend_azimuth
までです。次のいずれかの値を使用できます。
0またはnull (デフォルト): 自動(end_azimuth
パラメータの説明を参照)。
1または+1: 円弧はstart_azimuth
からend_azimuth
まで反時計回りに描画されます。
-1: 円弧はstart_azimuth
からend_azimuth
まで時計回りに描画されます。
1に設定されている場合、結果は線になります。0またはnull (デフォルト)の場合、結果はポリゴンです。start_azimuth
およびend_azimuth
でポリゴンの結果を持つ円のサブセットが指定された場合、戻されるポリゴンには円の中心が含まれます(つまり、扇形になります)。
使用上の注意
このファンクションの最初の形式を使用すると、真円が使用できない(Oracle Spatial and Graphの測地データで円が無効となる)場合に、指定された中心点の周囲に円状のポリゴンを作成できます。戻されるジオメトリのSDO_SRID値は8307となります(Longitude / Latitude (WGS 84)
)。
このファンクションの2番目と3番目の形式は、扇形を表す円弧またはポリゴンに対する折れ線近似値の作成に役立ちます。
開始と終了の方位値が指定された場合、これらは相互に等しくてはならず、360度以下の回転範囲にある必要があります。角度は-720から+720の範囲にある必要があります。
円は常に4つ以上の異なる頂点(正方形)で作成されます。
例
次の例では、Massachusetts州Concord市の中心に近い点の周囲に円状のポリゴンを戻します。ポリゴンの頂点の計算に使用されるradius
値は100m、arc_tolerance
値は5mです。
SELECT SDO_UTIL.CIRCLE_POLYGON(-71.34937, 42.46101, 100, 5) FROM DUAL; SDO_UTIL.CIRCLE_POLYGON(-71.34937,42.46101,100,5)(SDO_GTYPE, SDO_SRID, SDO_POINT -------------------------------------------------------------------------------- SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR AY(-71.34937, 42.4601107, -71.348653, 42.4602824, -71.348211, 42.4607321, -71.34 8211, 42.4612879, -71.348653, 42.4617376, -71.34937, 42.4619093, -71.350087, 42. 4617376, -71.350529, 42.4612879, -71.350529, 42.4607321, -71.350087, 42.4602824, -71.34937, 42.4601107))