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