タスク パラメータ用のフィーチャおよびテーブル スキーマ

フィーチャ入力またはテーブル入力を持つジオプロセシング タスクを定義する際、[サービス エディタ] で選択できる [入力モード] の 1 つとして [ユーザ定義値] があります。この入力モードを選択すると、次の図に示すように、[スキーマ] セクションにフィールド、そのエイリアスおよびタイプのリストが表示されます。このフィールドのリストは、結果を作成したツールへの入力として使用されるレイヤまたはテーブルと同じです。

また、タスクの出力がフィーチャクラス、フィーチャ レイヤ、またはテーブルである場合、[サービス エディタ] に出力データのスキーマが表示されます。入力フィーチャおよびテーブルと同様、出力用のスキーマは、ツールで作成された出力から派生します。

フィーチャ スキーマおよびテーブル スキーマ

クライアントは、タスクに送信するフィーチャまたは行を作成する際に、公開済みスキーマを使用します。タスクにどのようなフィールドやフィールドの値が必要かをクライアントが理解できるように、余分なフィールドを削除してからドキュメントを用意する必要があります。

スキーマについて説明するにあたって、フィーチャ入力の [ジオメトリ タイプ] 部分を検討します。その理由は Shape フィールドが常にフィーチャ入力と共に含められ、その [フィールド タイプ] が常に [ジオメトリ タイプ] と照合されるためです。

入力スキーマからフィールドを削除する

スキーマは [サービス エディタ] では変更できません。公開しようとしている結果の作成に使用する入力レイヤまたはデータセットのスキーマを変更するか、あるいは別のレイヤまたはデータセットを使用して新規に結果を作成する必要があります。

ArcMap コンテンツ ウィンドウからのフィーチャ レイヤまたはテーブル ビューをパラメータ入力として使用した場合は、次の手順に従えばフィールドを簡単に削除することができます。

手順:
  1. [サービス エディタ] でタスクを削除します。タスクを右クリックし、[削除] をクリックします。
  2. ArcMap コンテンツ ウィンドウで、レイヤまたはテーブルを右クリックし、[プロパティ] を選択します。
    ヒントヒント:

    レイヤでないテーブルを変更する場合は、[ソース別にリスト] ボタン ソース別にリスト をクリックして、現在の ArcMap セッション内のすべてのテーブルを表示します。

  3. [フィールド] タブをクリックします。
  4. [表示フィールドの選択] リストで、スキーマを削除する対象のフィールドをオフにします。
  5. [OK] をクリックします。
  6. [サービス エディタ] で、[結果の追加] 結果の追加 をクリックして、手順 1 で削除した結果を追加します。[サービス エディタ] で結果が追加されると、先ほど変更したレイヤからスキーマが読み取られます。

ツール パラメータ入力として(コンテンツ ウィンドウ内のレイヤまたはテーブル ビューの名前を使用する代わりに)ディスク上のフィーチャクラスまたはテーブルへのパスを使用すれば、フィーチャクラスまたはテーブル上の不必要なフィールドを(たとえば、[フィールドの削除(Delete Field)] ツールを使用して)削除してから、再び結果の共有を続行することができます。データセットのフィールドを削除する際は、事前にそのデータセットのコピーを作成することを推奨します。さらに良い方法は、フィーチャクラスのフィーチャ レイヤまたはテーブルのテーブル ビューを作成することです。フィーチャ レイヤまたはテーブル ビューを ArcMap に追加し、スキーマを変更して(前述の説明を参照)、その後で対象のレイヤまたはテーブル ビューを入力として使用してツールを再実行し、新しい結果を共有します。

フィールドの追加

フィールドをスキーマに追加する必要がある場合は、[サービス エディタ] を終了し、(たとえば、[フィールドの追加(Add Field)] ツールを使用して)新しいフィールドをデータセットに追加して、共有する新しい結果を作成する必要があります。

フィールド エイリアス

フィールド エイリアスはフィールドの代替名であり、実際の名前より説明的でユーザにわかりやすい名前にすることができます。クライアントは表示/編集目的にエイリアスを使用します。エイリアスは [サービス エディタ] では変更できません。公開しようとしている結果の作成に使用するデータセットのエイリアスを変更する必要があります。

注意注意:

フィールド エイリアスをサポートしているのは、ジオデータベース データセットだけです。たとえば、シェープファイルなどの形式は、フィールド エイリアスをサポートしていません。

手順:
  1. [サービス エディタ] を終了します。
  2. カタログ ウィンドウで、データセットに移動します。
  3. データセットを右クリックして、[プロパティ] を選択します。
    1. [フィールド] タブをクリックします。
    2. エイリアスを指定する対象のフィールドを選択します。
    3. [フィールド プロパティ] セクションで、フィールド用のエイリアスを入力します。
    4. 引き続き他のフィールドに対してもエイリアスの指定を繰り返します。
  4. [OK] をクリックします。
  5. [結果] ウィンドウで、結果を右クリックし、[共有] [ジオプロセシング サービス] の順に選択します。ツールを再実行する必要はありません。

フィールド エイリアスの詳細

クライアントによる入力スキーマの使用

スキーマには、クライアント アプリケーションが使用するデフォルトのジオメトリ タイプ、空間参照、および属性を指定します。ArcGIS for Desktop でタスクを使用する際には、ジオメトリ タイプが強制的に適用されるので、別のジオメトリ タイプのフィーチャを指定することはできません。ただし、属性はさまざまなタイプのものを使用できます。

JavaScript、SilverLight、および Flex API で構築された Web クライアントは、部分的に定義されたフィーチャ セットをタスクに提供できます。指定したフィーチャ セットにジオメトリ タイプ、空間参照、またはフィールドがない場合、それらは公開済みスキーマで定義された値を使用して、欠落データが入力されます。クライアントによって指定されたフィーチャ セットが完全に定義されていた場合、そのフィーチャ セットが現状のまま使用されます。

タスク要件のドキュメント化

タスクがスキーマを順守している必要のある場合は、クライアントの要件をドキュメント化する必要があります。たとえば、タスクがポイント フィーチャとしか連携動作しない場合、特定のフィールドが必要な場合、または特定のフィールド値が予期される場合は、それらの要件をドキュメント化してください。

ジオプロセシング サービスおよびタスクのドキュメント化の詳細

出力スキーマ

タスクの出力がフィーチャクラス、フィーチャ レイヤ、テーブル、またはテーブル ビューである場合、[サービス エディタ] に出力用のスキーマが表示されます。

このスキーマは通常、指定された入力内容に応じて変わります。つまり、動的(変更可能)になることもあれば静的(変更不可)になることもあります。たとえば、[近接情報テーブルの作成(Generate Near Table)] ツールは必要に応じて [位置] パラメータおよび [角度] パラメータの値に基づいて、フィールド NEAR_X、NEAR_Y、および NEAR_ANGLE を出力フィーチャ追加します。公開しようとしているタスクは、クライアントが設定した他のパラメータ値に応じて出力スキーマが異なるという点で [近接情報テーブルの作成(Generate Near Table)] ツールに似ています。他のツール(およびそのツールから作成されたタスク)は、クライアントが設定した他のパラメータ値に応じて、それぞれ異なるジオメトリ タイプ(ポイント、ラインまたはポリゴン)を出力します。

注意注意:

タスクが実行されると、タスクの実行によって生成される任意のスキーマがクライアントに送信されます。このスキーマは [サービス エディタ] に表示されるものとは異なる場合があります。

フィーチャ セットおよびレコード セットに基づく入力スキーマ

作成したカスタム モデル ツールおよびスクリプト ツールで、入力パラメータ用のデータ タイプとして Feature Set または Record Set を使用することができます。Feature Set を使用すると、ArcMap のフィーチャを対話形式でデジタイズできます。Record Set を使用すると、行を対話形式でテーブルに追加できます。Feature Set および Record Set データ タイプにはそれぞれ、タスク パラメータのスキーマの定義に使用される独自のスキーマがあります。タスク パラメータのスキーマを変更するには、カスタム ツールで使用されるフィーチャ セット スキーマまたはレコード セット スキーマを変更する必要があります。フィーチャ セットとレコード セットの詳細については、下のリンクをご参照ください。

ArcGIS for Desktop クライアント

スキーマには、JavaScript、SilverLight、または Flex API で構築された Web クライアントには利用できず、ArcGIS for Desktop クライアントにのみ利用できるという特徴があります。

コード値ドメイン

属性ドメインは、属性フィールドで有効な値または使用できる値を制限するルールです。スキーマのソース データセットの属性フィールドにコード値属性ドメインが含まれている場合は、これらのコード値がその属性のフィールド値として、フィーチャ セットまたはレコード セット コントロールのドロップダウン リストに表示されます。

レコード セットの属性値ドメイン

ArcMap でのフィーチャ セットおよびレコード セットのコントロールの使い方の詳細

シンボル

フィーチャ スキーマにはシンボル情報が保存されます。このシンボル情報は、ArcMap からアクセス可能であり、フィーチャセット制御を介してフィーチャをデジタイズする際に使用されます。

デフォルト値

データセット上のフィールドには、新規にフィーチャまたは行を作成するときに使用されるデフォルト値があります。フィールド用のデフォルト値を設定するには:

手順:
  1. カタログ ウィンドウで、データセットに移動します。
  2. データセットを右クリックして、[プロパティ] を選択します。
    1. [フィールド] タブをクリックします。
    2. デフォルト値を指定する対象のフィールドを選択します。
    3. [フィールド プロパティ] セクションで、フィールド用のデフォルト値を入力します。
  3. [OK] をクリックします。

関連トピック

5/10/2014