26.17 GET_SDO_GEOMETRYファンクション
このファンクションは、GeoJSONメンバーからSDO_GEOMETRYメンバー値を戻します。このファンクションでは、2次元ジオメトリ・オブジェクトのみがサポートされています。
ノート:
このファンクションは、SDO_GEOMETRY (Oracle Locator)がデータベースにインストールされている場合にのみ使用できます。構文
APEX_JSON.GET_SDO_GEOMETRY FUNCTION (
    p_path             IN VARCHAR2,
    p0                 IN VARCHAR2  DEFAULT NULL,
    p1                 IN VARCHAR2  DEFAULT NULL,
    p2                 IN VARCHAR2  DEFAULT NULL,
    p3                 IN VARCHAR2  DEFAULT NULL,
    p4                 IN VARCHAR2  DEFAULT NULL,
    p_srid             IN NUMBER    DEFAULT 4326,
    p_values           IN t_values  DEFAULT g_values )
    RETURN mdsys.sdo_geometry;パラメータ
表26-18 GET_SDO_GEOMETRYのパラメータ
| パラメータ | 説明 | 
|---|---|
| p_values | 解析されたJSONメンバー。デフォルトは g_valuesです。 | 
| p_path | p_valuesへの索引。 | 
| p[0-4] | p_pathの%NはそれぞれpNに置換され、i-th %sまたは%dはそれぞれp[i-1]に置換されます。 | 
| p_default | メンバーが存在しない場合のデフォルト値。 | 
| p_srid | SDO_GEOMETRYを戻す座標系(SRID)。 | 
戻り値
表26-19 GET_SDO_GEOMETRYの戻り値
| 戻り値 | 説明 | 
|---|---|
| ジオメトリ | 指定されたパスの位置にある値。 | 
Raises
表26-20 GET_SDO_GEOMETRYでの発生値
| 発生値 | 説明 | 
|---|---|
| VALUE_ERROR | p_values(p_path)がGeoJSONオブジェクトでない場合。 | 
例
次の例では、JSON文字列を解析し、位置にある値を出力します。
DECLARE
    j apex_json.t_values;
BEGIN
    apex_json.parse(j, '{ "items": [ 1, 2, { "geom": {"type":"Point","coordinates":[-122.7783356,38.8198318,1.85 ] } } ] }');
    dbms_output.put_line(to_char(apex_json.get_sdo_geometry (
                                     p_values => j,
                                     p_path   => 'items[%d].geom',
                                     p0       => 3) ) );
END;親トピック: APEX_JSON