35.22 SDO_UTIL.FROM_JSON
書式
SDO_UTIL.FROM_JSON( geometry IN JSON, crs IN VARCHAR2 DEFAULT NULL, srid IN VARCHAR2 DEFAULT -1 ) RETURN SDO_GEOMETRY;
または
SDO_UTIL.FROM_JSON( geometry IN CLOB, crs IN VARCHAR2 DEFAULT NULL, srid IN VARCHAR2 DEFAULT -1 ) RETURN SDO_GEOMETRY;
説明
JSONオブジェクト(より具体的にはJSON形式のジオメトリ・オブジェクト)をSpatialジオメトリ・オブジェクトに変換します。
パラメータ
使用上のノート
ノート:
SDO_UTIL.FROM_JSONファンクションは、Oracle Autonomous Databaseサーバーレス・デプロイメントでOracle JVMが有効になっている場合にのみサポートされます。Oracle JVMを有効にするには、Oracle Autonomous Databaseサーバーレスの使用のOracle Javaの使用で詳細を参照してください。入力ジオメトリはJSON形式である必要があります。Oracle Databaseに格納されているJSONデータの使用の詳細は、『Oracle Database JSON開発者ガイド』を参照してください。
SpatialによるJSONのサポートの詳細は、Oracle SpatialでのJSONおよびGeoJSONのサポートを参照してください。
SDO_GEOMETRYオブジェクトをJSON形式に変換するには、SDO_UTIL.TO_JSONファンクションまたはSDO_UTIL.TO_JSON_VARCHARファンクションを使用します。
例
次の例では、JSON形式への変換と逆変換を示します。(例では、「空間データの挿入、索引付けおよび問合せの例」の特にCOLA_MARKETS表のcola_b
ジオメトリについて、その定義およびデータを使用しています。)
DECLARE cola_b_geom SDO_GEOMETRY; returned_geom SDO_GEOMETRY; returned_json CLOB; BEGIN -- Populate geometry variable with cola market cols_b shape. SELECT c.shape into cola_b_geom FROM cola_markets c WHERE c.name = 'cola_b'; -- From geometry to JSON returned_json := SDO_UTIL.TO_JSON(cola_b_geom); -- From JSON to geometry returned_geom := SDO_UTIL.FROM_JSON(returned_json); END; /
次の例では、SDO_GEOMETRYへの変換対象となる指定のジオメトリを表すJSONオブジェクトを示します。(この場合、JSONは、「空間データの挿入、索引付けおよび問合せの例」で定義した、COLA_MARKETS表のcola_b
ジオメトリを反映します。)
SELECT SDO_UTIL.FROM_JSON( '{"polygon": {"boundary": [{"line": {"datapoints": [[5.0, 1.0], [8.0, 1.0], [8.0, 6.0], [5.0, 7.0], [5.0, 1.0]]}}]}}') GEOM FROM DUAL; GEOM ------ SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(5, 1, 8, 1, 8, 6, 5, 7, 5, 1))
親トピック: SDO_UTILパッケージ(ユーティリティ)