Geog Image Map Shader

Node Type: Colour Shader

ノード説明と目的:

『Geog Image Map Shader』は、多くのラスタ地理空間データ形式で画像を読み込んでジオリファレンスする事が出来ます。つまり、航空写真や衛星写真の読み込み時に使用する事が出来ます。ジオリファレンスとは、ジオリファレンス(地理参照)情報が画像と共に入手可能である限り、惑星上の正確な地理的位置に画像を配置する事を意味します。但し、ノードがベクトル画像に未対応である事に注意して下さい(ベクトルは、通常X、Y、Z座標を表す3つのスカラの集合です。また、値は傾斜(=勾配)、方向、横傾斜において一般的に回転を表します)。

『Geog Image Map Shader』は、『Image Map Shader』の特殊バージョンです 『Image Map Shader』と相当数の設定を共有しますが、地理空間データを扱うための新しい機能を備えます。

ノードに対応する画形式のリストが ここ で見る事が出来ます。TGは、そのページの表の「Compiled by default」のカラムに"Yes"と表記されたすべての形式に対応しています。OpenJPEG経由でJPEG2000にも対応しています。最も一般的に使用される画像形式に対応していますが、対応している形式のすべてが実証されているわけではないため、多くは問題ありませんが、一部は全く不明瞭である事に注意して下さい。

『Geog Image Map Shader』は、シェーダの画像投影(地理的投影と混同しないで下さい)を指定する事は出来ません。このノードが対応する唯一の画像投影は、"Plan Y"です。

ジオリファレンス設定は、Professional版でのみ使用可能です。しかしながら、画像の正確なサイズは、必要に応じてジオリファレンスに基づいて計算されます。

ノードが画像を読み込む時、画像の各ラスタバンド(チャネル)を順番に読み込みます。必要に応じて、読込中のラスタバンドごとに進捗ダイアログが表示されます。

ジオリファレンスされた画像を使用し、"Georeference"パラメータがチェックされている場合、画像は惑星上の正確な(地理参照)位置に配置されます。しかし、赤道での本子午線に相当する惑星の基点(TGにおいてのデフォルト)緯度0度、経度0度から遠ざかるにつれ、精度は低下します。ジオリファレンスデータを扱う際の精度を確保にするために、シーンカメラを合わせるエリアに惑星の基点を移動する事を推奨します。これは画像データではそれほど重要ではありませんが、画像をディスプレースメントや、ジオリファレンスされたDEMと共に使用している場合は、結果を生ずる要因となる場合があります。

惑星の基点を移動するのは簡単です。画像を読込み、"Georeference"パラメータにチェックを入れたとしましょう。それを惑星の基点を画像の南西に位置するように移動させる場合、以下の手順を実行します:
  1. "SW corner lat long"パラメーターの右側にあるクリップボードアイコンをクリックします。
  2. ポップアップメニューから"Copy coordinates"を選択します。これで、緯度/経線の両方のテキストフィールドの値が同時にコピーされます。
  3. 『Planet 01』ノード(デフォルトの『Planet』オブジェクト)のパラメータビューを開きます。これは【Objects】のノードリストで見付ける事が出来ます。または、ネットワークビューで『Planet 01』ノードをダブルクリックする事も出来ます。
  4. クリップボードにコピーした値を、"Lat long at apex"パラメータの右側にあるクリップボードアイコンをクリックして、"Paste coordinates"を選択する事でペーストします。
この手順は、惑星の基点をシーンカメラを合わせるエリアに移動させ、最良の結果を確保にするために必須の措置です。

このノードでは、NODATA値を別の値に置き換える事が出来ます。NODATA値とは、有効なデータがない画像内のエリアを示します。通常、無効なデータとは画像内の黒い部分を言い表します。

『Geog Image Map Shader』は、すでにラスタデータが南北に位置合わせされた画像の場合に最も効果的に働きます。例えば、米国国土地理院データベース画像のいくつかは、画像範囲内で回転されたラスタデータを持っています。これらは現在正確に表示されません。『Geog Image Map Shader』は、今後これらの歪んだ画像に対応する予定です。それまでは、汎用なGDALツールを使用して、これらの画像を自分自身で歪めて調整する事となるでしょう。

ノードは、 GDAL PROJ.4 を使用して画像ファイルを読込みジオリファレンスします。

設定

Image filename 画像ファイル このパラメータを使用し、読み込む画像ファイルを指定します。右側のフォルダアイコンをクリックして、ファイル選択ダイアログを開きます。


Locationタブ

このタブ内のジオリファレンス設定は、Professional版でのみ使用可能です。
Georeference ジオリファレンス チェック時、ハイトフィールドは以下のフィールド値に準じてジオリファレンスします。未チェック時は、このノードが接続する『Heightfield Shader』によってコントロールされます。DEMはファイルから引き出された値によっても正確なサイズになるでしょう。
Auto georeference from file ファイルから自動ジオリファレンス チェック時、ノードはDEMのジオリファレンス情報を読み込みます。これは新しくノードを作成してファイルを選択した時に、ジオリファレンス情報を自動で読み込むために、デフォルトでオンになっています。ファイルの読み込みで、ノードがジオリファレンス情報を検出すると、"Georeference"パラメータを有効にします。これはまた、開かれたプロジェクトの一部としてのノードが読み込まれた際にジオリファレンス情報が読み込まれるという意味でもある事に注意して下さい。"Georeference"パラメータを無効にする時は、"Auto georeference from file"のチェックをオフにする必要があります。
ジオリファレンス値に変更を加えた場合、このパラメータは無効になります。
Reproject on the fly プロジェクト再読み込み時に即時応変 チェック時、プロジェクトの読み込み時に、以前に設定されたジオリファレンスを再度有効にします。チェックを外す事で、以前の作業を再設定しません。
NW corner lat long 北西角の緯度/経度 ハイトフィールドの北西角の緯度/経度を設定します。
NE corner lat long 北東角の緯度/経度 ハイトフィールドの北東角の緯度/経度を設定します。
SE corner lat long 南東角の緯度/経度 ハイトフィールドの南東角の緯度/経度を設定します。
SW corner lat long 南西角の緯度/経度 ハイトフィールドの南西角の緯度/経度を設定します。
Position explicitly 手動で位置決め チェック時、ジオリファレンスを使用せずに、直接画像の位置を設定する事が出来ます。これを行うには、以下のパラメータを使用します。この手動による位置決めは、TGのすべてのバージョンで使用が可能です。
Position center 中心配置 これがチェック時、シェーダは画像の中心に合わせて配置されます。
Position lower 左下配置 これがチェック時、シェーダは画像の左下に合わせて配置されます。
Position 位置座標 配置するx、y、z座標を設定します。
Size サイズ 画像サイズをメートル単位で設定します。
Size from Image 画像からサイズを設定 このボタンをクリックすると、画像から使用可能なデータに基づいてサイズが設定されます。例えば、画像のジオリファレンスデータが5km×10kmのエリアをカバーしている場合、値は(5000、10000)に設定されます。
Border blending 境界の混合量 この設定は、周囲のテクスチャと滑らかに接合するために画像データの境界の混合量をコントロールします。数値の範囲は0から1です。0の場合、混合は行われず画像の境界がくっきりと現れます。1の場合は、画像の終端に最大限のグラデーションが掛かり、滑らかに境界を混合させます。
Mask by shader シェーダでマスク処理 チェック時、指定されたシェーダまたはFunctionノードを使用してこのシェーダをブレンド(マスク)します。指定されたシェーダまたはFunctionがこのシェーダのマスクになります。指定されたシェイダーによって生成された拡散色またはブレンド関数によって生成された値は、ブレンド量として解釈されます。1は100%のブレンド量であり、0はブレンドしません。これらの量は、このシェーダの色と変位が入力にどれだけ適用されるかを決定します。0以下または1以上の値が使用可能となります。旧パラメータ名は"Blend by shader"と呼ばれている通り、抽出した特定のエリアに対して覆い隠したり、強調させたり、あるいは他シェーダによって効果のブレンドを行います。
Fit mask to this マスクに適合 チェック時、指定されたシェーダに、このシェーダのテクスチャスペースに再マッピングするための異なるテクスチャ座標が与えられます。すべてのシェーダがテクスチャ座標を使用するわけではないので、効果の無い場合もあります。実際には、マスクシェーダの入力を、マスクシェーダと同じスケールまたはエリアに拡大縮小する事を意図しています。常用する設定ではないですが、、例えば、マスクシェーダとして『Image map shader』(範囲内を覆うなど)を使用する場合には有用かもしれませんが、マスクシェーダとしての別の処理上のプロシージャル入力としての用途には不適切です。
Invent mask マスクの反転 チェック時、指定したマスク処理を行う特定の範囲を反転します。


Flipタブ

Flip x x軸に反転 読み込んだ画像をx軸を中心に反転します。
Flip y y軸に反転 読み込んだ画像をy軸を中心に反転します。


NODATAタブ

[NODATA]タブでは、画像データ内のNODATA値のピクセルを別の値に置き換えるパラメータを備えます。 NODATA値を持つピクセルは、データが欠落しているか無効である画像内のエリアを示します。下記のパラメータを使用する事で、これらの色や値、または透明に置き換える事が出来ます。

画像の読み込み時に、TGは画像ファイルに可能な限り密接に内部画像形式と一致させる事で、メモリリソースを最小限に抑える方法で置き換えます。しかし、NODATA値のピクセルを置き換えると、内部画像形式がより多くのメモリを消費する必要を生じる場合があります。例として、画像ファイルが8ビットのグレースケールのパレット化/インデックス化された画像であるとします。NODATA値のピクセルを置き換えて透明にする場合、TGは内部画像形式を8ビットから32ビットRGBAに変更し、使用するメモリ量を4倍にする必要があります。ジオリファレンス画像が非常に大きくなる可能性があるので、多くのメモリを使用できない場合は、この事を念頭におかなければなりません。

[Info]タブの"Raster and Projection Info"フィールドを確認すると、画像にNODATA値があるかどうかを確認する事が出来ます。
Replace NODATA values NODATA値の置き換え チェック時、イメージ内のNODATA値のピクセルを置き換えます。画像データを再読込する必要があるため、大きな画像では時間がかかる事に注意して下さい。下記のパラメータを使用して置換値を前もって設定してからチェックをオンにすると効率的です。変更後に[Update]ボタンをクリックする手間を省く事が出来ます。
Replace with colour 色を置換 これにチェックすると、NODATA値のピクセルを色で置き換えます。
NODATA colour value NODATAのカラー値 NODATA値のピクセルを置き換える色を選択する事が出来ます。画像がグレースケールのインデックス化/パレット化されている場合、この色の輝度はグレースケール値として使用します。
NODATA alpha value NODATAのアルファ値 置き換える色のアルファ値を設定します。0(完全に透明)~1(完全に不透明)の値を使用します。これは、1以外の値を指定すると、内部画像をRGBAに変更する可能性がある事に注意して下さい。
Replace colour mode 置換カラーモード このポップアップで、NODATA値のピクセルの置換方法を選択する事が出来ます:
-Channel by channel:このオプションは、チャンネルごとにNODATA値のチャンネルを置き換えます。例として、画像にR、G、Bチャンネルがあるとします。特定のピクセルに、RチャネルはNODATA値を持ち、GチャネルとBチャネルには有効なデータがあった場合、ノードはNODATAカラー値からR値を取り、ピクセルのRチャネルを置き換えますが、GチャネルとBチャネルは変更しません。
-Any channel:このオプションは、いずれかのチャンネルにNODATA値がある場合、ピクセル全体を置き換えます。上記と同じ例として、RチャネルはNODATA値を持ち、GチャネルとBチャネルには有効なデータがあった場合、このオプションを使用すると、GチャネルとBチャネルに有効なデータがあっても、ピクセルはNODATAカラー値を使用して全体を置き換えます。
Replace with scalar スカラを置換 これにチェックすると、NODATA値をスカラ値で置き換えます。これは常にチャンネルごとに動作します。イメージピクセルの1つのチャネルだけがNODATA値を有する場合、そのチャネルのみが置き換えられます。
NODATA scalar value NODATAのスカラ値 NODATAを置換に使用するスカラ値を設定します。
Make NODATA transparent NODATAを透明にする チェック時、NODATA値を完全に透明にします。ピクセルのいずれかのチャネルがNODATA値を有する場合、ピクセルを完全に透明にします。この設定を使用すると、画像がRGBAに展開され、メモリ使用量が増加する可能性がある事に注意して下さい。
Update 更新ボタン NODATAの置換パラメータのいずれかを変更すると、このボタンをクリックして画像を更新します。これは、大きな画像は時間がかかる処理になる可能性が高いので、変更を自動で行わないようにしています。


Infoタブ

[Info]タブには、画像に関する有用な情報が表示されます。画像サイズをメートルとピクセルで表示するだけでなく、画像データと画像の投影に関する情報も持っています。

このタブのパラメータはすべて読み取り専用です。パラメータを編集する事は出来ませんが、表示されたテキストフィールドを選択してコピーする事は可能です。
XY size (metres) XY間のサイズ(メートル) 画像サイズをメートル単位で表示します。この値は、ジオリファレンス情報から計算されます。ファイルに対して利用可能なジオリファレンス情報がない場合、1ピクセルのデフォルトスケールは1メートルと同等です。
XY size (pixels) XY間のサイズ(ピクセル) 画像サイズをピクセル単位で表示します。
Raster and Projection Info ラスターと投影情報 このフィールドは、ラスタデータの構造に関する情報と、画像ファイルの投影情報を表示します。
最初の2行には、ラスタデータセットのサイズ(ピクセル)と画像のラスタバンド数を表示します。ラスタバンドは、地理空間画像ではカラーデータ以外のデータを表す場合を除いて、通常の画像チャンネルに似ています。画像内の各ラスタバンドについての情報を表示します。ラスタバンド情報の表示例:
Raster band 1
Colour interpretation: Red
Data type: Unsigned 8 bit integer
Band doesn't have a NODATA value
最初の行は、画像ラスターバンドのインデックスを示します。この場合、"1"です。2行目は、ラスタバンドの色の解釈を示します。色の解釈は、ラスタバンドのデータをどのように読み取るべきかを明示します。この場合、"R(赤)"であり、これはラスタバンドが画像のRチャンネルである事を示します。次の行には、ラスタバンドのデータタイプを示します。この場合、符号なし8ビット整数です。最後は、ラスタバンドのNODATAステータスを示します。この場合、バンドにNODATA値が存在しません。
情報の最終区分は、画像をジオリファレンスするために使用する投影と座標系です。座標系は、OpenGIS Well Known Text( WKT )形式で表示します。


Colourタブ

[Colour]タブには、『Geog Image Map Shader』が画像からカラー情報を生成する方法をコントロールする設定を備えています。
Apply colour カラーを適用 チェック時、このノードは画像からカラーを生成します。
Smooth interpolation 滑らかな補間 チェック時、画像のカラー値(明度)を滑らかに補間します。未チェックの場合、補間は適用されずに陰影付けされている点のピクセルからカラーが取得されます。そのため、チェック時に比べてブロック化されたような結果が与えられます。使用する画像によって使い分けると良いでしょう。
Unpremultiply アンプリマルチプライ処理 チェック時、このノードは画像のアルファ値で画像のカラー値をアンプリマルチプライ処理します。画像の透明部分の端に異常なフリンジ(縞模様)がある場合は、このパラメータを変更してみて下さい。
Convert to linear リニアに変換 このラジオボタンをチェック時、画像はガンマ補正され、リニア(線形)色空間に変換する切り替えが行われたものと想定します。変換に使用されるガンマ値は、"Conversion gamma"パラメータで指定します。これは、グラデーションの濃淡をリニア上ではなく、人間の目に正しく見えるようにするために、ガンマ空間で処理する事で、濃淡の段階が滑らかに表示されます。
Data is linear データはリニア 画像をガンマ補正せずにリニア(線形)色空間で使用する場合は、このラジオボタンをチェックします。
Conversion gamma 変換するガンマ値 "Convert to linear"にチェック時、このパラメータ値を使ってガンマ変換します。
Multiply RGB RGBの乗算 RGB値を設定する事で、画像を任意のグレースケールに調整します。
Offset RGB RGB値のオフセット RGB値のそれぞれのチャンネルに任意の値を付加します。(0-1)


Displacementタブ

このタブには、『Geog Image Map Shader』が読み込んだ画像からどのようにディスプレースメントを生成するかをコントロールする設定があります。
ディスプレースメント値は、画像内のピクセルの輝度を使用して計算します。
Apply displacement ディスプレースメントを有効 チェック時、読み込んだ画像を元にディスプレースメントを生成します
Displacement amplitude ディスプレースメント振幅 画像から計算されたディスプレースメント値をスケーリングします。値が1の場合変化はありません。値が2の場合ディスプレースメント値は2倍になり、値が0.5の場合半分になります。負の値はディスプレースメント値を反転させます。
Displacement offset ディスプレースメントのオフセット この値は、"Displacement multiplier"パラメータで乗算された後に、ディスプレースメントの入力値に加算されます。これにより、ディスプレースメントが上方向、または下方向に方向にオフセットする効果が生じます。正の値はディスプレースメントを押し出して、それが台座に座っているかのように見えます。負の値は、ディスプレイスメントが表層の中に沈みます。それはディスプレースメントを逆にするのではなく、むしろ表層に穴を作り、穴の底にディスプレースメントを適用する事に近いです。
Smooth disp interpolation 滑らかなディスプレースメント補間 チェック時、画像からディスプレースメント値を滑らかに補間する事が出来ます。未チェック時、補間は使用されず、陰影付けされている点のピクセルからディスプレースメント値を取り入れます。これにより、ブロック化された結果が得られます。
Convert disp to linear ディスプレースメントをリニアに変換 このラジオボタンをチェック時、画像はガンマ補正され、ディスプレースメント値が計算される前にリニア(線形)色空間に変換します。変換に使用されるガンマ値は、"Disp conversion gamma"パラメータで指定します。
Disp data is linear ディスプレースメント値のデータはリニア 画像をガンマ補正せずにリニア(線形)色空間で使用する場合は、このラジオボタンをチェックします。
Disp conversion gamma 変換するディスプレースメントのガンマ値 "Convert disp to linear"にチェック時、このパラメータ値を使ってガンマ変換します。


Effectsタブ

このタブには、透明度と半透明に関連する設定が含まれています。
Alpha as opacity 不透明度の適用 チェック時、画像のアルファチャンネルを不透明/透明として使用します。
Alpha as colour 色としてのアルファチャンネル チェック時、画像のアルファチャンネルがRGBチャンネルに置き換わります。これにより、有効なアルファチャンネルがグレースケール画像として表示します。
Create transparency チェック時、シェーダは画像の色に基づいて透明度を生成します。透明に使用する色は、"Transparency key"パラメータで設定します。
Transparency key 透明キー 透明度の生成に使用する色を設定します。例えば、緑色のエリアを透明にする場合は、アルファキーを緑色に設定します。
Key tolerance キーの許容値 このコントロールによって、"Transparency key"の色に似た色の濃淡を使用して不透明度を生成します。
Invert alpha/transparency アルファ/透明度の反転 チェック時、画像のアルファ/不透明(透明)度を反転します。
Use alpha/transparency for direct blending アルファ/透明度を使用して直接ブレンド チェック時、画像のアルファチャンネルまたは生成した透明度を使用して、画像を下地のサーフェスとブレンドします。未チェック時、透明部分はクッキーの型抜きと少し似た方式で動作をし、下地のサーフェスに穴をあけ、すべてのレンダリングを防止します。ただし、これをチェックすると、画像は切り取られるのではなく、下地のサーフェスとブレンドされるので、下地のサーフェスの色が見えるようになります。レンダリング例をいくつか挙げます:

これらのレンダリングは、地形上のサーフェスレイヤーとしてシェーダを使用しています。シェーダで使用される画像の赤い部分は半透明です。左画像では、ブレンドのない画像が表示されます。真ん中の画像は、"Alpha as opacity"にチェックするとどうなるかを示します。画像のアルファチャンネルは地形に穴をあける事で、灰色の部分は惑星の内部色が見えています。右側の画像は、"Use alpha/transparency for direct blending"がチェック時の動作を示しています。見てわかるように、赤いエリアは、穴をあける代わりに下地のサーフェスとブレンドします。
"Use alpha/transparency for direct blending"を設定すると、不透明度の設定としてアルファが上書きされる事に留意する事が重要です。"Alpha as opacity"をチェックしてから、"Use alpha/transparency for direct blending"をチェックする事で、常に直接ブレンドの動作が得られます。
Translucent 半透明 チェック時、半透明を有効にします。右側のスライダは半透明の適用量をコントロールします。透過性は、サーフェスを通る光のフィルタリングの効果をもたらします。例として、葉のテクスチャに半透明を使用して、通過する光をシミュレートする事が出来ます。これは、不透明度/透明度と同じではありません。半透明については、半透明で詳しく説明しています。
Translucency tint 半透明の色調 半透明効果の色調をコントロールします。