B.4 GeoRaster REST APIエンドポイントの例
Oracle Spatial GeoRaster REST APIは、ユーザーがWebクライアントを介してGeoRasterデータおよびGeoRaster機能にアクセスできるようにする、一連のRESTエンドポイントです。
これらのエンドポイントは、データ・アクセス、データ処理、仮想モザイク、インポートおよびエクスポートの4つのカテゴリに整理されます。
次の各項では、いくつかのREST APIエンドポイントの例を示します。
親トピック: GeoRaster REST APIリファレンス
B.4.1 GeoRasterオブジェクトの開始
HTTP PUTリクエスト: 次のcurlコマンドは、GeoRaster列イメージを含むGeoRaster表image_table
がすでに存在し、id = 1
の行があることを前提として、id = 1
が指定されたrdt
およびrid
値を持つ行のGeoRaster列を更新することで、空のGeoRasterオブジェクトを開始します。
curl -v -u username:userPassword! -X PUT -d @request_body.json https://localhost:8080/oraclespatial/georaster/v1/datasource1/image_table/image?q={'id'=1}
リクエスト本文
{
"rdt": "image_table_rdt1",
"rid": 1
}
親トピック: GeoRaster REST APIエンドポイントの例
B.4.2 ラスター・イメージのロード
HTTP PUTリクエスト: 次のcurlコマンドは、GeoRaster表image_table
にラスター・イメージをインポートします。ラスター・イメージworld.tif
は、GeoRaster REST APIがデプロイされたサーバー上の環境変数GEOR_IMPORT_EXPORT_FOLDER
で指定されたディレクトリに存在する必要があります:
curl -u username:userPassword! -X PUT -d @request_body.json https://localhost:8080/oraclespatial/georaster/v1/datasource1/image_table/image/image_table_RDT1/1
リクエスト本文
{
"fileName": "world.tif",
"creationOption": [
"BLOCKXSIZE=254",
"SPATIALEXTENT=TRUE"
]
}
レスポンス本文: 次のようにジョブIDを返します。
{
"id": 237492503845
}
HTTP GETリクエスト: 次のcurlコマンドは、ジョブのステータスをチェックします。
curl -u username:userPassword! -X GET https://localhost:8080/oraclespatial/georaster/v1/datasource1/jobs/237492503845
レスポンス本文: 次のようにジョブ・ステータスを返します。
{
"items": [
{
"id": 237492503845,
"status": "FINISHED",
"type": "IMPORT",
"fileName": "world.tif",
"progress": 100,
"job_creation_time": "2022-04-05 10:08:02-0700",
"start_time": "2022-04-05 10:08:02-0700",
"end_time": "2022-04-05 10:08:03-0700"
}
]
}
親トピック: GeoRaster REST APIエンドポイントの例
B.4.3 ロードされたラスター・イメージの表示
HTTP GETリクエスト: 次のcurlコマンドは、ピラミッド・レベル3のラスター・イメージをJPEG形式で取得します。
curl -u username:userPassword! -X GET https://localhost:8080/oraclespatial/georaster/v1/datasource1/image_table/image/image_table_rdt1/1/rasterImage?pyramidlevel=3&format=jpeg
親トピック: GeoRaster REST APIエンドポイントの例
B.4.4 ラスター・イメージの分類
HTTP POSTリクエスト:次のcurlコマンドは、イメージをオンザフライで分類し、分類されたイメージをGIF形式で返します:
curl -u username:userPassword! -X POST -d @request_body.json https://localhost:8080/oraclespatial/georaster/v1/datasource1/image_table/image/image_table_rdt1/1/rasterImage?format=gif
リクエスト本文
{
"renderOps": {
"colorMap": [
{
"value": 0,
"red": 200,
"green": 0,
"blue": 0,
"alpha": 255
},
{
"value": 1,
"red": 0,
"green": 200,
"blue": 0,
"alpha": 255
},
{
"value": 2,
"red": 0,
"green": 0,
"blue": 200,
"alpha": 255
},
{
"value": 3,
"red": 100,
"green": 100,
"blue": 100,
"alpha": 255
}
]
},
"rasterOps": {
"opName": "classify",
"croparea": null,
"expression": "0",
"rangearray": [
30,
100,
200
],
"valuearray": [
0,
1,
2,
3
],
"nodata": "true",
"storageparam": "celldepth=8bit_u"
}
}
前述のリクエスト本文で、renderOps
はレンダリング用のcolorMap
を指定し、rasterOps
はclassify
操作のパラメータを指定します。ラスター・イメージのバンド0は4つの値に分類され、colorMap
を使用して4つの色にマップされます。
親トピック: GeoRaster REST APIエンドポイントの例
B.4.5 ラスター・イメージの幾何補正
HTTP POSTリクエスト: 次のcurlコマンドは、GeoRasterオブジェクト内のラスター・イメージを幾何補正し、幾何補正したイメージを別のGeoRasterオブジェクトに格納します。
curl -u username:userPassword! -X POST https://localhost:8080/oraclespatial/georaster/v1/datasource1/sdo_geor/rectify
リクエスト本文
{
"ingeoraster": {
"rasterDataTable": "image_table_rdt1",
"rasterID": 1
},
"pyramidlevel": 0,
"elevationparam": null,
"dem": null,
"outsrid": 4326,
"outmodelcoordloc": null,
"croparea": null,
"polygonclip": null,
"layernumbers": null,
"outresolutions": [
30,
30
],
"resolutionunit": "unit=meter",
"resamplparam": "resampling=bilinear",
"storageParam": null,
"outgeoraster": {
"rasterDataTable": "image_table_rdt1",
"rasterID": 2
}
}
親トピック: GeoRaster REST APIエンドポイントの例
B.4.6 仮想モザイクの作成、表示および管理
仮想モザイクを作成および表示するには、仮想モザイクREST APIエンドポイントを使用します。作成された仮想モザイクの定義は、ユーザー・スキーマのSDO_GEOR_VM_REGISTRY_$$
という名前のレジストリ表に格納されます。REST APIエンドポイントを介して操作をリストおよび削除することで、定義された仮想モザイクを管理できます。
HTTP PUTリクエスト: 次のcurlコマンドは、仮想モザイクを作成します。
curl -u username:userPassword! -X PUT -d @request_body.json "https://localhost:8080/oraclespatial/georaster/v1/datasource1/vm/landsat_mosaic"
リクエスト本文
{
"sourceImages": {
"tableNames": "image_table",
"columnNames": "image"
},
"outSRID": 4326,
"outResolutions": [
2,
2
],
"resolutionUnit": "meter",
"commonPointRule": "high",
"nodata": true,
"fillgap": true,
"bgValues": [
0,
0,
0
]
}
HTTP POSTリクエスト: 次のcurlコマンドは、仮想モザイクの領域をJPEG形式で表示します。
curl -u username:userPassword! -X POST -d @request_body.json https://localhost:8080/oraclespatial/georaster/v1/datasource1/vm/landsat_mosaic/rasterImage?format=JPEG
リクエスト本文
{
"cropArea": [
0,
0,
100,
100
]
}
HTTP GETリクエスト: 次のcurlコマンドは、定義されているすべての仮想モザイクをリストします:
curl -u username:userPassword! -X GET https://localhost:8080/oraclespatial/georaster/v1/datasource1/vm
HTTP DELETEリクエスト: 次のcurlコマンドは、landsat_mosaic
という名前の仮想モザイクを削除します:
curl -u username:userPassword! -X DELETE https://localhost:8080/oraclespatial/georaster/v1/datasource1/vm/landsat_mosaic
親トピック: GeoRaster REST APIエンドポイントの例