13.16 SDO_GEOR_UTL.get_rasterTile
形式
SDO_GEOR_UTL.get_rasterTile( table_name IN VARCHAR2, geor_col_name IN VARCHAR2, simple_predicate IN MDSYS.SDO_STRING_ARRAY DEFAULT NULL, tile_x IN NUMBER, tile_y IN NUMBER, tile_zoom IN NUMBER, outSRID IN NUMBER DEFAULT 3857, bounds IN MDSYS.SDO_NUMBER_ARRAY DEFAULT MDSYS.SDO_NUMBER_ARRAY(-180, -85.051129, 180, 85.051129), zoom_range IN MDSYS.SDO_RANGE DEFAULT MDSYS.SDO_RANGE(0,22), tile_extent IN MDSYS.SDO_NUMBER_ARRAY DEFAULT MDSYS.SDO_NUMBER_ARRAY(256), google_ts IN BOOLEAN DEFAULT TRUE, out_format IN VARCHAR2 DEFAULT ‘PNG’, layer_numbers IN VARCHAR2 DEFAULT ‘1-3’, mosaic_param IN VARCHAR2 DEFAULT NULL, nodata_mapping IN SDO_NUMBER_ARRAYSET DEFAULT NULL, image_processing IN VARCHAR2 DEFAULT NULL, bg_values IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL ) RETURN BLOB;
または
SDO_GEOR_UTL.get_rasterTile( georasters IN VARCHAR2, tile_x IN NUMBER, tile_y IN NUMBER, tile_zoom IN NUMBER, outSRID IN NUMBER DEFAULT 3857, bounds IN MDSYS.SDO_NUMBER_ARRAY DEFAULT MDSYS.SDO_NUMBER_ARRAY(-180, -85.051129, 180, 85.051129), zoom_range IN MDSYS.SDO_RANGE DEFAULT MDSYS.SDO_RANGE(0,22), tile_extent IN MDSYS.SDO_NUMBER_ARRAY DEFAULT MDSYS.SDO_NUMBER_ARRAY(256), google_ts IN BOOLEAN DEFAULT TRUE, out_format IN VARCHAR2 DEFAULT ‘PNG’, layer_numbers IN VARCHAR2 DEFAULT ‘1-3’, mosaic_param IN VARCHAR2 DEFAULT NULL, nodata_mapping IN SDO_NUMBER_ARRAYSET DEFAULT NULL, image_processing IN VARCHAR2 DEFAULT NULL, bg_values IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL ) RETURN BLOB;
説明
GeoRasterオブジェクトまたは一連のGeoRasterオブジェクト(仮想モザイク)から、ラスター・タイルをBLOBで生成します。
デフォルトでは、生成されるタイルは、OGC (Open Geospatial Consortium)のWebMercatorQuadタイル処理方法に基づいています。詳細は、「Common TileMatrixSet definitions」を参照してください。
パラメータ
- table_name
-
SDO_GEORASTERオブジェクト型の列を含む有効な表またはビューの名前。
- geor_col_name
-
GeoRasterオブジェクトを取得するSDO_GEORASTER型列の名前。
- simple_predicate
-
述語を形成する3つの要素(operand、operator、value)で構成される書式設定されたSDO_STRING配列。
3つの組を形成する要素については、次の点に注意してください。
- 3つの要素の1番目である
operandは、表(table_name)内の有効な列名である必要があります。列名が有効でない場合は、例外が発生します。 - 3つの要素の2番目は
operatorで、次の演算子の1つのみがサポートされています:=,!=,<,>,<=,>=IS [NOT] NULLAND[NOT] LIKE
- 3つの要素の3番目である
valueは、文字列または数値である必要があります。たとえば、'answer'は文字列として扱われます。一方で、'42'と42は両方とも数値として扱われます。 - 3つの要素が複数ある場合は、
AND演算子で結合された複数の述語が形成されます。たとえば、次のSIMPLE_PREDICATE配列があるとします。SIMPLE_PREDICATE => sdo_string_array('GEORID', '>=', '100', 'GEORID', '<', '200')これは、
"GEORID">=100かつ"GEORID" < 200という述語を形成します。
- 3つの要素の1番目である
- georasters
-
1つ以上のGeoRasterオブジェクトを返すカーソル。
- tile_x
-
指定されたズーム・レベル(
tile_zoom)でフェッチされるタイルのX座標。このパラメータの有効最小値はゼロです。有効な最大値は
(2^tile_zoom)-1です。 - tile_y
-
指定されたズーム・レベルでフェッチされるタイルのY座標。
このパラメータの有効最小値はゼロです。有効な最大値は
(2^tile_zoom)-1です。 - tile_zoom
-
現在の取得のズーム・レベル。このズーム・レベルで取得できるタイルの数(
2^tile_zoom x 2^tile_zoom)を決定します。その値は、zoom_rangeで定義された範囲内である必要があります。 - outSRID
-
生成されるタイルのSRID。
デフォルト値は「3857」です。
- bounds
-
マップ領域全体の左下隅および右上隅の座標(SRIDは4326)。
デフォルト値は、Maplibreの表示範囲(
(-180, -85.051129, 180, 85.051129))です。 - zoom_range
-
有効なズーム・レベルの範囲。
デフォルトの範囲は
[0,22]です。 - tile_extent
-
生成されるタイルのピクセル単位の寸法(高さ、幅)。
sdo_number_arrayに数値を1つのみ指定した場合、生成されるタイルは正方形になります。それ以外の場合、生成されるタイルは長方形になります。デフォルトのタイル・サイズは256x256です。 - google_ts
-
OGC WebMercatorQuadタイル処理スキーマを使用するかどうかを示すブール値。デフォルト値はTRUE。
タイル住所の読取り時には、次の2つのタイル処理方法がサポートされています。
OGC WebMarcatorQuad (デフォルト): このタイル処理方法では、タイル座標系の基点(0,0)は北西の角にあります。Xタイル座標はタイルが西から東に読み取られるにつれて増加します。Yタイル座標はタイルが北から南に読み取られるにつれて増加します。OSGeo Tile Map Service (TMS): このタイル処理方法では、タイル座標系の基点(0,0)は南西の角にあります。Xタイル座標はタイルが西から東に読み取られるにつれて増加しますが、Yタイル座標はタイルが南から北に読み取られるにつれて増加します。
- out_format
-
生成されるタイルのイメージ形式。
有効な値は、
"PNG"、"JPEG"および"TIFF"です。デフォルト値は"PNG"です。 - layer_numbers
-
タイルの生成に使用されるGeoRasterオブジェクトのバンド。
デフォルト値は
'1-3'で、これはラスターの最初の3つのバンドを意味します。 - mosaic_param
-
タイルの生成に使用されるモザイク・パラメータ。
「SDO_GEOR_AGGR.mosaicSubset」の
mosaicParamパラメータを参照してください。 - nodataMapping
-
生成されたタイルで
NODATAセル値をどのようにレンダリングするかを指定します。このパラメータの形式は、数値セットの配列です。配列の各要素は、4つの数値のセット(
val1、val2、val3、val4)です。val1およびval2:NODATAセル値の範囲を[val1, val2]として指定します。つまり、この範囲に含まれるセル値はNODATAセル値とみなされます。val3: 指定されたNODATAセル値の置換値を指定します。置換が不要な場合は、val3をNULLにできます。val4: 指定できる値は、1または0です。1: これは、指定されたNODATAセルが生成されたタイルで透明としてレンダリングされることを意味します。0: これは、指定されたNODATAセルが生成されたタイルで透明としてレンダリングされないことを意味します。
- imageProcessing
-
取得したラスター・データに適用するイメージ処理方法を指定します。
有効な値は、次のとおりです。
"stretch": ラスター・データ・セル値の範囲を[0,255]にストレッチします。"piecewisestretch": ラスター・データ・セル値の範囲を[0,255]にストレッチしますが、セル値が低いイメージ領域の明度を高めたり、コントラストを強くします。"normalize": ラスター・データ・セル値を処理して、平均値が128、標準偏差が64となるようにします。"equalize": ヒストグラムに基づいて、ラスター・データ・セルに均等化を適用します。"terrainRGB": 1バンドDEM (数値標高モデル)ラスター・データに基づいて、Mapbox TerrainRGBイメージを生成します。これは、MaplibreまたはMapboxでラスターDEMソースを構成するために使用されます。
"terrainRGB"を除くすべてのイメージ処理方法は、table_name、geor_col_name、simple_predicateまたはgeorastersパラメータで定義された仮想モザイクの統計に基づきます。 - bg_values
-
生成されたタイルの空き領域の背景値。
SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)または生成されたタイルのバンド寸法サイズ(各バンドそれぞれに異なる入力値を使用)のいずれかであることが必要です。デフォルトの背景値はゼロです。
使用上のノート
SDO_GEOR_UTL.get_rasterTileファンクションには2つの形式があります。一方の形式では、table_name、geor_col_nameおよびsimple_predicateパラメータの組合せを使用して、仮想モザイクを定義します。他方の形式では、カーソルのgeorastersパラメータによって返されたGeoRasterオブジェクトを使用して、仮想モザイクを定義します。どちらの場合も、仮想モザイクにはGeoRasterオブジェクトを1つのみ含めることができます。このファンクションのどちらの形式でも、仮想モザイクからラスター・データを取得し、ラスター・タイルをイメージ形式で生成し、BLOBとして返します。
このファンクションのデフォルト・パラメータ値は、OGC WebMercatorQuadタイル処理方法を使用するように設定されています。つまり、生成されるタイルのサイズは256 x 256、SRIDは3857、PNG形式で、マップ境界はWGS84 (-180, -85.051129, 180, 85.051129)、最大ズーム・レベルは22です。
タイル生成では、2バンド・ラスター・データは、2番目のバンドをアルファ・バンドとする1バンド・イメージとみなされます。また、4バンド・ラスター・データは、4番目のバンドをアルファ・バンドとする3バンド・イメージとみなされます。ソース・ラスターにバンドが1つあり、colormap表またはgrayscale表がGeoRasterオブジェクト・メタデータに格納されている場合、colormap表またはgrayscale表が生成されたイメージ・タイルに自動的に追加されます。
指定されたタイルの場所(tile_x, tile_y, tile_zoom)にラスター・データがなく、イメージ処理方法として'terrainRGB'が指定されていない場合は、完全に透明なPNGタイルが返されます。
ノート:
Autonomous AI Database環境を使用している場合は、この機能に対してOracle Javaを有効にする必要があります。詳細は、Oracle Javaの有効化を参照してください。例
次の例では、表world_imageの列georasterのgeorid=2の行にあるGeoRasterオブジェクトから、ズーム0にラスター・タイルを生成します:
select sdo_geor_utl.get_rastertile(‘world_image’, ‘georaster’,
sdo_string_array(‘georid’, ‘=’, ‘2’), 0, 0, 0) from dual;
次の例では、指定されたモザイク・パラメータおよびイメージ処理方法を使用して、GeoRaster表landsat_imagesの仮想モザイクからラスター・タイルを生成します:
select sdo_geor_utl.get_rastertile(‘landsat_images’, ‘image’, null, 10, 24, 6, mosaic_param=>’resFilter=false, commonPointRule=high’, image_processing=>’normalize’, bg_values=>sdo_number_array(255, 0, 0)) from dual;
次の例では、DEM表dem_tableからMapbox TerrainRGBタイルを生成します:
select sdo_geor_utl.get_rastertile(‘dem_table’, ‘raster’, sdo_string_array(‘id’, ‘=’, ‘1’), 1, 1, 1, image_processing=>’TerrainRGB’) from dual;
親トピック: SDO_GEOR_UTLパッケージのリファレンス