5.11 地形モデリングおよび分析

入力GeoRasterオブジェクトからのデータを使用して、地形モデリングおよび分析を実行できます。

SDO_GEOR_GDAL.demプロシージャは、入力GeoRasterオブジェクトからのデータを使用して、指定されたprocessingパラメータに基づいて出力を生成します。入力GeoRasterオブジェクトは通常は数値標高モデルとなり、processing値はhillshadeslopeaspectcolor-reliefroughnessなどの値になります。

例5-25 hillshade

processingパラメータ値がhillshadeの場合、プロシージャは隣接する地域よりも高い地域の影を表すグレースケール・イメージを生成し、日光の視覚効果を模倣します。

この例では、陰影起伏イメージを作成します。

DECLARE
  gr1 sdo_georaster;
  gr2 sdo_georaster;
BEGIN
  select raster into gr1 from imagery where id = 1;
  delete from imagery where id = 2;
  insert into imagery values(2, sdo_geor.init('imagery_rdt',2))
         returning raster into gr2;
  sdo_geor_gdal.dem(gr1, gr2, 'hillshade');
  update imagery set raster = gr2 where id = 2;
  commit;
END;
/

例5-26 slope

プロシージャは、入力ラスターの標高値に基づいて傾斜または方位ラスターを生成できます。その場合、出力ピクセル値によって視覚的にすぐれた出力は生成されませんが、土地利用および土地配分分析に使用される可能性のある便利なラスター表面が生成されます。たとえば、傾斜や日当たりの角度(方位)に基づいてワイン生産に適した地域を定義するために使用できる場合があります。

次の例では、ラスター標高データから生成された傾斜を表すラスターを作成します。結果のピクセル値は、デフォルトの度数出力ではなくパーセンテージで表されます。

DECLARE
  gr1 sdo_georaster;
  gr3 sdo_georaster;
BEGIN
  select raster into gr1 from imagery where id = 1;
  delete from imagery where id = 3;
  insert into imagery values(3, sdo_geor.init('imagery_rdt', 3))
         returning raster into gr3;
  sdo_geor_gdal.dem(gr1, gr3, 'slope', 'slopevalue=percent');
  update imagery set raster = gr3 where id = 3;
  commit;
END;
/

例5-27 aspect

この例では、ラスター標高データから生成された方位を表すラスターを作成します。平坦な地域を表すピクセルは、デフォルトの-9999ではなく値0になります。

DECLARE
  gr1 sdo_georaster;
  gr4 sdo_georaster;
BEGIN
  select raster into gr1 from imagery where id = 1;
  delete from imagery where id = 4;
  insert into imagery values(4, sdo_geor.init('imagery_rdt', 4))
         returning raster into gr4;
  sdo_geor_gdal.dem(gr1, gr4, 'aspect', 'zeroforflat=yes');
  update imagery set raster = gr4 where id = 4;
  commit;
END;
/

例5-28 color-relief

この例では、ファイルcolorfile.txtを使用してラスター標高データから生成されたカラー・レリーフを表すラスターを作成します。この例では、colorfile.txtファイルには次の標高パーセント、赤、緑、青の値が含まれます。

0%  180   0 255
10%  70   0 255
20%   0  70 255
30%   0 180 255
40%   0 255 180
50%   0 255  70
60%  70 255   0
70% 180 255   0
80% 255 180   0
90% 255  70   0
nv    0   0   0
DECLARE
  gr1 sdo_georaster;
  gr5 sdo_georaster;
BEGIN
  select raster into gr1 from imagery where id = 1;
  delete from imagery where id = 5;
  insert into imagery values(5, sdo_geor.init('imagery_rdt', 5))
         returning raster into gr5;
  sdo_geor_gdal.dem(inGeoRaster    => gr1,
                    outGeoRaster   => gr5, 
                    processing     => 'color-relief', 
                    colorDirectory => 'mydir’,
                    colorFilename  => 'colorfile.txt');
  update imagery set raster = gr5 where id = 5;
  commit;
END;
/

これらの例に示されている操作に加えて、DEM GeoRasterオブジェクトからTerrain Ruggedness Index (TRI)マップ、Topographic Position Index (TPI)マップおよび粗さマップを生成する手順を使用できます。