フィーチャ入力またはテーブル入力を持つジオプロセシング タスクを定義する際、[サービス エディター] の [入力モード] オプションの 1 つとして [ユーザー定義値] があります。この入力モードを選択すると、次の図に示すように、[スキーマ] セクションにフィールド、そのエイリアスおよびタイプのリストが表示されます。このフィールドのリストは、結果を作成したツールへの入力として使用されるレイヤーまたはテーブルと同じです。
また、タスクの出力がフィーチャクラス、フィーチャ レイヤー、またはテーブルである場合、[サービス エディター] に出力データのスキーマが表示されます。入力フィーチャおよびテーブルと同様、出力用のスキーマは、ツールで作成された出力から派生します。
クライアントは、タスクに送信するフィーチャまたは行を作成する際に、公開済みスキーマを使用します。タスクに必要なフィールドやフィールドの値をクライアントが理解できるように、余分なフィールドを削除してからドキュメントを用意する必要があります。
フィーチャ入力の [ジオメトリ タイプ] はスキーマの一部と見なされます。その理由はフィーチャ入力とともに Shape フィールドが常に含まれ、その [フィールド タイプ] が常に [ジオメトリ タイプ] と一致するためです。
入力スキーマからフィールドを削除する
スキーマは [サービス エディター] では変更できません。公開しようとしている結果の作成に使用する入力レイヤーまたはデータセットのスキーマを変更するか、あるいは別のレイヤーまたはデータセットを使用して新規に結果を作成する必要があります。
ArcMap の [コンテンツ] ウィンドウからフィーチャ レイヤーまたはテーブル ビューをパラメーター入力として使用した場合、フィールドを削除するには、次の手順に従います。
- [サービス エディター] で、タスクを右クリックして [削除] をクリックします。
- ArcMap [コンテンツ] ウィンドウで、レイヤーまたはテーブルを右クリックし、[プロパティ] を選択します。
ヒント:
レイヤーでないテーブルを変更する場合は、[ソース別にリスト] ボタン をクリックして、現在の ArcMap セッション内のすべてのテーブルを表示します。
- [フィールド] タブをクリックします。
- [表示フィールドの選択] リストで、スキーマから削除するフィールドをオフにします。
- [OK] をクリックします。
- [サービス エディター] で、[結果の追加] をクリックして、手順 1 で削除した結果を追加します。
[サービス エディター] で結果が追加されると、先ほど変更したレイヤーからスキーマが読み取られます。
ツール パラメーター入力として ([コンテンツ] ウィンドウ内のレイヤーまたはテーブル ビューの名前を使用する代わりに) ディスク上のフィーチャクラスまたはテーブルへのパスを使用すれば、フィーチャクラスまたはテーブルで不要なフィールドを (たとえば、[フィールドの削除 (Delete Field)] ツールを使用して) 削除してから、再び結果の共有を続行することができます。データセットのフィールドを削除する際は、事前にそのデータセットのコピーを作成することを推奨します。さらに良い方法は、フィーチャクラスのフィーチャ レイヤーまたはテーブルのテーブル ビューを作成することです。フィーチャ レイヤーまたはテーブル ビューを ArcMap に追加し、スキーマを変更して (前述の説明を参照)、対象のレイヤーまたはテーブル ビューを入力として使用してツールを再実行し、新しい結果を共有します。
フィールドの追加
フィールドをスキーマに追加するには、[サービス エディター] を終了し、(たとえば、[フィールドの追加 (Add Field)] ツールを使用して) 新しいフィールドをデータセットに追加して、共有する結果を作成する必要があります。
フィールド エイリアス
フィールド エイリアスはフィールドの代替名であり、フィールド名よりも説明的でユーザーにわかりやすいものにすることができます。クライアントは表示/編集目的にエイリアスを使用します。エイリアスは [サービス エディター] では変更できません。公開しようとしている結果の作成に使用するデータセットのエイリアスを変更する必要があります。
備考:
フィールド エイリアスをサポートしているのは、ジオデータベース データセットだけです。たとえば、シェープファイルなどの形式は、フィールド エイリアスをサポートしていません。
- [サービス エディター] を終了します。
- [カタログ] ウィンドウで、データセットを参照します。
- データセットを右クリックして、[プロパティ] を選択します。
- [フィールド] タブをクリックします。
- エイリアスを指定する対象のフィールドを選択します。
- [フィールド プロパティ] セクションで、フィールド用のエイリアスを入力します。
- 引き続き他のフィールドに対してもエイリアスの指定を繰り返します。
- [OK] をクリックします。
- [結果] ウィンドウで、結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。ツールを再実行する必要はありません。
クライアントによる入力スキーマの使用
スキーマには、クライアント アプリケーションが使用するデフォルトのジオメトリ タイプ、空間参照、および属性を指定します。ArcGIS Desktop でタスクを使用する際には、ジオメトリ タイプが強制的に適用されるため、別のジオメトリ タイプのフィーチャを指定することはできません。ただし、属性はさまざまなタイプのものを使用できます。
ArcGIS API for JavaScript で構築された Web クライアントは、部分的に定義されたフィーチャ セットをタスクに提供できます。指定したフィーチャ セットにジオメトリ タイプ、空間参照、またはフィールドがない場合、それらは公開済みスキーマで定義された値を使用して、欠落データが入力されます。クライアントによって指定されたフィーチャ セットが完全に定義されていた場合、そのフィーチャ セットが現状のまま使用されます。
タスク要件のドキュメント化
タスクがスキーマを順守している必要のある場合は、クライアントの要件をドキュメント化する必要があります。たとえば、タスクがポイント フィーチャとしか連携動作しない場合、特定のフィールドが必要な場合、または特定のフィールド値が予期される場合は、それらの要件をドキュメント化してください。
出力スキーマ
タスクの出力がフィーチャクラス、フィーチャ レイヤー、テーブル、またはテーブル ビューである場合、[サービス エディター] に出力用のスキーマが表示されます。
このスキーマは通常、指定された入力に応じて変わります。つまり、動的になることもあれば静的になることもあります。たとえば、[近接情報テーブルの生成 (Generate Near Table)] ツールは必要に応じて [位置] パラメーターおよび [角度] パラメーターの値に基づいて、フィールド NEAR_X、NEAR_Y、および NEAR_ANGLE を出力フィーチャに追加します。公開しようとしているタスクは、クライアントが設定した他のパラメーター値に応じて出力スキーマが異なるという点で [近接情報テーブルの作成 (Generate Near Table)] ツールに似ています。他のツール (およびそのツールから作成されたタスク) は、クライアントが設定した他のパラメーター値に応じて、それぞれ異なるジオメトリ タイプ (ポイント、ラインまたはポリゴン) を出力します。
備考:
タスクが実行されると、タスクの実行によって生成されるスキーマがクライアントに送信されます。このスキーマは [サービス エディター] に表示されるものとは異なる場合があります。
フィーチャ セットおよびレコード セットに基づく入力スキーマ
作成したカスタム モデル ツールおよびスクリプト ツールで、入力パラメーター用のデータ タイプとしてフィーチャ セットまたはレコード セットを使用することができます。フィーチャ セットを使用すると、ArcMap のフィーチャを対話形式でデジタイズできます。レコード セットを使用すると、行を対話形式でテーブルに追加できます。フィーチャ セットおよびレコード セット データ タイプにはそれぞれ、タスク パラメーターのスキーマの定義に使用される独自のスキーマがあります。タスク パラメーターのスキーマを変更するには、カスタム ツールで使用されるフィーチャ セット スキーマまたはレコード セット スキーマを変更する必要があります。フィーチャ セットとレコード セットの詳細については、次のリンクをご参照ください。
ArcGIS Desktop クライアント
スキーマには、REST API に基づいて構築された Web クライアント (ArcGIS API for JavaScript を使用するクライアントなど) では利用できず、ArcGIS Desktop クライアントでのみ利用できるという特徴があります。
コード値ドメイン
属性ドメインは、属性フィールドで有効な値または使用できる値を制限するルールです。スキーマのソース データセットの属性フィールドにコード値属性ドメインが含まれている場合は、これらのコード値がその属性のフィールド値として、フィーチャ セットまたはレコード セット コントロールのドロップダウン リストに表示されます。
シンボル
フィーチャ スキーマにはシンボル情報が保存されます。このシンボル情報は、ArcMap からアクセス可能であり、フィーチャセット制御を介してフィーチャをデジタイズする際に使用されます。
デフォルト値
データセットのフィールドには、フィーチャまたは行を作成するときに使用されるデフォルト値を設定できます。フィールドのデフォルト値を設定するには、次の手順を実行します。
- [カタログ] ウィンドウで、データセットを参照します。
- データセットを右クリックして、[プロパティ] を選択します。
- [フィールド] タブをクリックします。
- デフォルト値を指定する対象のフィールドを選択します。
- [フィールド プロパティ] セクションで、フィールド用のデフォルト値を入力します。
- [OK] をクリックします。