ST_Raster 値のプロパティを返す関数
このトピックで紹介するラスタ プロパティのそれぞれについて、ラスタがそのプロパティを持っているかを判断する関数、またはプロパティの値を取得する関数があります。
このような関数を、SQL の SELECT ステートメントで単体で使用することも、UPDATE ステートメントの WHERE 句で使用して、更新する値を制限することもできます。また、スクリプトの中の SELECT ステートメントでラスタ プロパティを変更する前に、そのプロパティが存在するか判断するために使用することもできます。
説明
describe 関数を使用して、ST_Raster 値の一般的なプロパティまたは特定のプロパティを取得できます。
引数を指定しないで describe 関数を使用した場合は、一般的なプロパティが返されます。別の方法として、describe 関数に引数を指定して、特定のプロパティを取得することもできます。describe 関数で使用できる引数は、colormap と storage です。
colormap 引数を指定すると、ST_Raster 値の一般的なプロパティと、ラスタに適用されたカラーマップ インデックスが返されます。ラスタ値にカラーマップが存在しない場合、describe 関数で colormap を指定すると、エラー メッセージが返されます。
storage 引数を指定すると、一般的なラスタ プロパティに加えて、以下の情報が返されます。
- 各バンドとピラミッド レベル内の最小値
- 各バンドとピラミッド レベル内の最大値
- 各バンドとピラミッド レベル内の平均値
- 各バンドとピラミッド レベル内のピクセル値の標準偏差
- ラスタ値のピクセルの総数
- バンドとピラミッド レベル別のラスタ値の圧縮後のサイズ
ピクセル値
ST_Raster 列では以下のピクセル値がサポートされています。
- 1bit: 1 ビット データ
- 4bit: 4 ビット データ
- uint8: 符号なしの 8 ビット整数
- int8: 符号付きの 8 ビット整数
- uint16: 符号なしの 16 ビット整数
- int16: 符号付きの 16 ビット整数
- uint32: 符号なしの 32 ビット整数
- int32: 符号付きの 32 ビット整数
- float: 単精度浮動小数点数
- double: 倍精度浮動小数点数
ST_Raster の getPixelType 関数を使用して、特定の ST_Raster 値のピクセル値を判断します。
統計情報
ラスタ値に統計情報が存在すると、ArcGIS Desktop でのレンダリング時にラスタをストレッチして見やすくすることができます。ラスタ統計情報は、ラスタでジオプロセシング ツールを使用するときにも必要です。
ST_Raster 値で統計情報が計算されているかどうかを判断するには、ST_Raster の hasStats 関数を使用します。
また、hasStats 関数を UPDATE ステートメントの WHERE 句で使用して、統計情報を持たないラスタだけを更新したり、統計情報が計算されているレコードだけを更新したりするように制限することもできます。
圧縮
ST_Raster 値では以下の圧縮タイプが使用できます。
- NONE: 格納時にデータを圧縮していません。
- LZ77: LZ77 では可逆の連長圧縮が使用されます。ばらつきが少ないデータの場合、または、他の圧縮アルゴリズムを使用できない場合に最適です。
- JPEG: JPEG は、この圧縮規格を開発した委員会である Joint Photographic Experts Group の略称です。JPEG は非可逆圧縮タイプです。JPEG 圧縮は、カラーマップ インデックスを持たない 8 ビット データだけに適用できます。
- JP2: これは JPEG 2000 ウェーブレット ベースの圧縮タイプです。この圧縮タイプは 8 ビットまたは 16 ビット データに適用できます。
getCompressionType 関数を使用して、ST_Raster 値に適用された圧縮の種類を判断できます。
LZ77 圧縮がもっともよく使用されています。ただし、3 バンド 8 ビット ラスタ データまたは、ばらつきの激しいグレースケール データでは JPEG 圧縮が使用されます。JPEG2000 圧縮は通常、16 ビット データ用に予約されています。
ピラミッド内挿タイプ
ピラミッド内挿法は、ラスタ値に対してピラミッドを構築するときに適用されるアルゴリズムです。内挿法では、他のラスタ値との近接性に基づいてラスタ値のセルの値を予測します。
ST_Raster 値で使用可能なピラミッド内挿法には、最近隣、共一次、共三次という 3 つのタイプがあります。特定の ST_Raster 値でピラミッドの構築時にどのタイプの内挿法が使用されたかを判断するには、getInterpolationType 関数を使用します。
共一次内挿法は、画像がなめらかになるため、一番よく使用されます。ただし、共一次内挿法は、下位レベルのピクセル値が維持されないため、カラーマップが適用されたデータに対しては使用できず、また、8 ビット未満のピクセル データに対して使用してはいけません。
一般に、共一次内挿法を使用しない場合は、最近隣ピラミッド内挿法が使用されます。
getInterpolationType 関数を使用してクエリしたラスタ値にピラミッドが存在しない場合は、null 値が返されます。
インターリーブ タイプ
インターリーブ タイプとは、画像の実際のピクセル値を格納する方式です。
ST_Raster は、インターリーブ タイプとして BIP(Band Interleaved by Pixel)と BSQ(Band Sequential)の両方をサポートします。特定の ST_Raster 値でどのタイプが使用されているかを判断するには、getInterleaveType 関数を使用します。