ラスター関数でのサーバー側処理
このトピックの内容
イメージ サービスは、REST でサポートされる一部のデフォルトの関数を使用してサーバー側で処理できますが、REST および ArcGIS for Desktop アプリケーション (ArcMap など) を介してアクセスおよび使用できるイメージ サービスや関連付けられたラスター関数テンプレートを公開することによっても処理できます。
ラスター関数テンプレート (*.rft.xml) を実装するには、まずラスター関数テンプレート エディターを使用して *.rft.xml ファイルを作成し、次に *.rft.xml ファイルを公開するときに、それをイメージ サービスに追加する必要があります。イメージ サービスで *.rft.xml ファイルを公開するときに、ラスター関数テンプレート内で定義されている関数は、イメージ サービス内のコンテンツだけに適用できます。テンプレートは、別の入力からのデータを使用することはできません。
REST を使用してイメージ サービスのサーバー側処理を実行することは、さまざまな方法を使用して処理されるイメージ サービスを提供する Web アプリケーションを作成しているとき、またはアプリケーションがその処理を実行できないときに便利です。以下に例を示します。
- イメージ サービスが Landsat などの画像を保持している場合、赤色および近赤外のバンドを使用して NDVI を実行する Web アプリケーションを作成できます。
- イメージ サービスが DEM なら、ユーザーがイメージ サービスを陰影起伏や傾斜のある画像として表示できるようにする Web アプリケーションを作成できます。
REST は、傾斜方向、カラーマップ、NDVI、傾斜角、陰影起伏、陰影起伏、統計情報、ストレッチなどのイメージ サービスの基本関数をサポートします。また、ラスター関数を互いにつないで必要な処理結果を作成できる .rft.xml ファイルを使用してイメージ サービスを公開することにより、これらの機能を拡張できます。
ストレッチなどの関数を含んでいるイメージ サービスにラスター関数テンプレートを適用すると、Web アプリケーションでイメージ サービスを使用するときに便利です。多くの場合、Web アプリケーションでは、イメージを拡張できません。このため、この機能はサーバー側の処理に委ねられます。この状況では、ラスター関数テンプレートをイメージ サービスに追加すると、デフォルトでラスター関数テンプレートを適用できます。
ヒント:
イメージを ArcMap に追加し、そのシンボル (ストレッチを含む) を変更して、設定をラスター関数テンプレートにエクスポートします。この詳細については、「レイヤーのシンボルからのラスター関数テンプレートの保存」をご参照ください。
ラスター関数テンプレート エディターへのアクセス
[ラスター関数テンプレート エディター] ボタンは [カスタマイズ] ダイアログ ボックスから追加されます。
- ArcMap で、[カスタマイズ] メニューをクリックして [カスタマイズ モード] をクリックします。
- [コマンド] タブをクリックします。
- [カテゴリ] リストをスクロールして、[ラスター] をクリックします。
- [コマンド] リストから、[ラスター関数テンプレート エディター] 項目をいずれかのツールバーにドラッグ アンド ドロップします。
- [閉じる] をクリックします。
ヒント:
ツールバーからボタンを削除するには、[カスタマイズ] ダイアログ ボックスを開き、[ラスター関数テンプレート エディター] ボタン をクリックし、ツールバーの外にボタンをドラッグ アンド ドロップしてから、[カスタマイズ] ダイアログ ボックスを閉じます。
- [ラスター関数テンプレート エディター] ボタン をクリックして、ラスター関数テンプレート エディターを開きます。
ラスター関数テンプレートの作成
ラスター関数テンプレートは、関数チェーンにアクセスできる任意の場所から、テンプレートにエクスポートすることによって作成できます。また、[ラスター関数テンプレート エディター] 内で作成することもできます。
- [ラスター関数テンプレート エディター] ボタン をクリックします。詳細については、「ツールバーへのコマンドの追加」をご参照ください。
ダイアログ ボックスが開き、アイデンティティ関数を含むデフォルト関数チェーンが表示されます。関数を追加すると同時に、デフォルトのアイデンティティ関数は表示されなくなります。
- [関数チェーン] を右クリックし、[プロパティ] をクリックします。
- 関数チェーンのメモを右クリックし、[プロパティ] をクリックして、関数テンプレートのプロパティを定義します。定義できるプロパティを以下に示します。
名前
説明
ヘルプ
種類
グループ フィールド名
フィルター設定
タグ フィールド
- [値] 列にデフォルトのバンド数を入力して、[OK] をクリックします。
- チェーン内の [アイデンティティ関数] または [Raster] 項目を右クリックして、[挿入] をクリックし、リストから関数を選択します。
右クリックした場所の上に関数が追加されます。
関数をダブルクリックして再び開き、プロパティを変更できます。
- 引き続き関数を挿入し、必要な関数チェーンを作成します。
- ユーザー自身または他のユーザーに役立つ有益な情報をこの関数チェーンに追加するには、チェーンの上部で [関数チェーン] を右クリックし、[ヘルプ情報の設定] をクリックします。
終了したら、[関数テンプレートのヘルプ] ダイアログ ボックスを閉じます。
- [ファイル] > [保存] の順にクリックし、*.rft.xml ファイルを保存する場所までナビゲートして、[保存] をクリックします。
注意:
- 関数チェーンは、イメージ サービス内のコンテンツだけに適用できます。別の入力からのデータを使用することはできません。
- 関数は下から上の順に適用されます。次に示す例では、バンド算術関数が最初に適用され、次にカラー陰影起伏関数が適用されて、最後にクリップ関数が適用されます。
- 関数チェーンは検証されません (ラスター データセットまたはモザイク データセット上で編集する場合のように)。このため、関数の組み合わせによってはチェーンが無効になる場合があります。たとえば、ある関数が先行する関数の出力とは異なる数のバンドを必要とする場合、チェーンは無効になります。例として、1 バンドを出力するグレースケール関数を適用し、その後に 2 バンドを必要とする NDVI 関数を指定するとします。この場合、NDVI 関数は適用できないので、関数チェーンは適用できず、出力画像は無効になります。
ラスター関数テンプレートを使用するイメージ サービスの設定
公開前にパラメーターを設定するときに、*.rft.xml ファイルをイメージ サービスに追加します。
- イメージ サービスが公開され、稼働している場合は、停止します。
- イメージ サービス プロパティにアクセスします。
- [サービス エディター] ダイアログ ボックスの左側のメニューで、[関数] をクリックします。
- [管理] ボタンをクリックして、[ラスター関数テンプレートの管理] ダイアログ ボックスを開きます。
- 1 つ以上の *.rft.xml ファイルをリストに追加します。
- 必要に応じて、[デフォルト] ドロップダウン メニューでラスター関数テンプレートを選択し、デフォルトでラスター関数テンプレートを適用します。
- [OK] をクリックして、ダイアログ ボックスを閉じます。
- イメージ サービスを公開します。