通常のフィーチャ出力で Web ツールを使用する場合、出力はサーバーで生成され、フィーチャとしてクライアントに返されます。出力フィーチャ サービスはホスティング サーバーの ArcGIS Data Store に常駐しています。そのため、結果をローカル ドライブに保存せずに、ネットワーク上で出力フィーチャ データおよび非空間データに対してサービスを提供することができます。これにより、結果データをクライアントに転送する際のオーバーヘッドが回避されるので、出力フィーチャの結果サイズが大きい場合に Web ツールの効率性を向上することができます。また、自分のデータを Web クライアント、デスクトップ アプリ、フィールド アプリなど、さまざまなクライアントで使用可能にすることもできます。
作成
この機能を使用するには、出力はフィーチャクラスかテーブルでなくてはなりません。
出力がオプションであれ必須であれ、Web ツールを設計する際に何も変更する必要はありません。
公開
Web ツールを出力フィーチャ サービスと共有する場合は、次のソフトウェア要件を満たす必要があります。
- ArcGIS Pro 2.3 以降
- ArcGIS Server および Portal for ArcGIS 10.7 以降
- ArcGIS Server は Portal for ArcGIS にフェデレーションすること
- Portal for ArcGIS にはホスティング サーバーが必要
ツールを実行後、[Web ツールとして共有] ダイアログ ボックスで次の設定を行います:
- Web ツールは、ポータルまたは [ArcGIS Enterprise] のグループとのみ共有できます。 Web ツールは [すべての人に公開] で共有することはできません。この設定で共有すると、ツールが使用されたときに権限の問題が発生します。
- [実行モード] を [非同期] に設定します。
- [マップ イメージ レイヤーの出力を表示] オプションをオフのままにしておきます。
- [サーバーから返される最大レコード数] は、出力フィーチャ サービスには何の影響もありません。
注意:
Python 関数 arcpy.CreateGPSDDraft を使用して Web ツールを公開する場合は、server_type を MY_HOSTED_SERVICES として指定する必要があります。
使用
Web ツールをフィーチャ出力かテーブル出力で使用する場合、[出力フィーチャ サービス名] と呼ばれるオプションの入力パラメーターをパラメーター リストの末尾で使用できるようになります。このパラメーターは、公開処理の最中に自動的に生成されます。削除したり名前を変更したりすることはできません。Web ツールをこのパラメーターで正常に使用するには、以下の要件を満たすサービス名を指定する必要があります。
- 出力フィーチャ サービスの名前は、ポータルでホスティングされるすべてのサービス全体で一意である必要があります。すべての出力フィーチャ サービスは、ポータルの Hosted フォルダーに常駐するからです。
- 名前は 120 文字以下で、英数字またはアンダースコアのみを使用できます。
- ポータル ユーザーには、出力フィーチャ サービスを作成する権限が必要です。この権限を持つロールは、公開者か管理者のみです。カスタム ロールのポータル ユーザーについては、ロールにはメンバー/表示、コンテンツ/ホスト フィーチャ レイヤーの公開、コンテンツと解析/標準フィーチャ解析 の権限が必要です。
Web ツールを出力フィーチャ サービスで使用する場合、元の結果が常駐するサーバー上の場所にかかわらず、すべての出力フィーチャはホスティング サーバーのデータ ストアにコピーされます。
注意:
ポータルとフェデレートされた ArcGIS Server サイトに Web ツールを公開する場合は、ホスティング サーバーで allowconnection コマンドを実行する必要があります。そうしないと、結果をホスティング サーバーにコピーできません。
Web ツールの実行時に、サーバーから結果のフィーチャ サービスに URL を提供します。Web ツールを ArcGIS Pro で使用する場合、結果はサービス URL を持つレイヤーとしてコンテンツに追加されます。REST エンドポイントから Web ツールを使用する場合、結果は URL の JSON 表現です。
注意:
[出力フィーチャ サービス名] パラメーターは任意で設定します。[出力フィーチャ サービス名] を空白のままにして Web ツールを使用すると、通常の出力フィーチャまたはテーブルが生成されます。
元の出力パラメーター プロパティは、フィーチャ サービスがレンダリングされる方法を左右します。一般的なシナリオを以下に示します。
- 複数の出力 - 複数の出力フィーチャ パラメーターがある場合、各出力結果は出力フィーチャ サービスにレイヤーとして追加されますが、Web ツールを実行する際には 1 つの出力フィーチャ サービスしかありません。
- 空の出力 - Web ツールを実行する際に出力パラメーターの結果が空の場合は、空のフィーチャを持つレイヤーが生成され、サービスに追加されます。
- オプションまたは派生した出力 - 出力パラメーターがオプションまたは派生タイプである場合、Web ツールを実行する際に出力は生成されない可能性があります。この場合、どのレイヤーもサービスに追加されません。
- 複数の値を持つ出力 - 複数の値を含む出力を持つ Web ツールの実行は、フィーチャ出力サービスをサポートしていません。
- シンボル - ツールの出力に対してシンボルが定義されている場合、出力フィーチャ サービスはそのシンボルを保持します。ツールの作成中にシンボルが定義されなかった場合、デフォルトのシンボルが使用されます。