エバリュエータの割り当て

ネットワーク エレメントはソース フィーチャから作成されます。コスト属性や階層属性などのネットワーク属性はネットワーク エレメントの値を保持しています。エバリュエータは特定のソース フィーチャクラスから作成されるエレメントの属性値を計算します。これは、1 つのネットワーク エレメントが複数のエバリュエータを持つことを意味しています。たとえば、マルチモーダル ネットワークの 1 つのコスト属性が道路、鉄道、歩道、ターン、ジャンクションなどの各ソース フィーチャクラスのエバリュエータを持つことができます。

このトピックでは、エバリュエータの設定方法について説明します。

手順:
  1. [ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [属性] タブをクリックします。

    次の図に示されたネットワーク データセットには、「RoadClass」、「Oneway」、「Minutes」、および「Meters」という 4 つのネットワーク属性があります。

    [ネットワーク データセット プロパティ] ダイアログ ボックスの [属性] タブ

  3. 変更する必要があるエバリュエータを持つ属性を選択して、[エバリュエータ] をクリックします。

    [エバリュエータ] ダイアログ ボックスが表示されます。

    [エバリュエータ] ダイアログ ボックス

  4. 通常は、フィールド エバリュエータを使用して、ネットワーク属性に値を割り当てます(ステップ 4 を参照)。他の種類のエバリュエータを設定する場合は、ステップ 5 ~ 9 の説明に従ってください。
  5. ソースにフィールド エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
    1. [種類] 列でソース行をクリックし、[フィールド] をクリックします。
    2. [値] 列でソース行をクリックし、リストから適切なフィールドを選択します。

    次の図は、ソース フィーチャを To-From 方向にデジタイズした道路のフィーチャクラスのフィールド エバリュエータを示しています。

    ソース フィーチャを To-From 方向にデジタイズした、道路のフィールド エバリュエータ
    ヒントヒント:

    [種類] 列と [値] 列に同時に値を割り当てることができます。[種類] の値を割り当てるには、Ctrl キーまたは Shift キーを押しながら [属性値] テーブルの列をクリックします。選択した列のうち 1 つの列を右クリックし、[種類] をクリックして、必要なエバリュエータの種類を選択します。

    同様に、複数の行に対して [値] 列に同じ値を割り当てることができます。そのためには 2 行以上を選択し、選択した行のうち 1 つの行を右クリックし、[値] をポイントして [プロパティ] をクリックします。開いたダイアログ ボックスで指定した設定は、[エバリュエータ] ダイアログ ボックスの [属性値] テーブルで選択したすべての行に割り当てられます。

  6. ソースに定数エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
    1. [種類] 列でソース行をクリックし、ドロップダウン リストから [定数] をクリックします。
    2. [値] 列でソース行をクリックし、[Traversable] を選択するか、規制属性用に [規制] を選択するか、またはコスト属性、記述子属性、階層属性用に数値を入力します。

      次の図は、ターンのソース フィーチャクラスにおける規制属性の定数エバリュエータを示しています。

      ターンの定数エバリュエータ

  7. ソースにフィールド式エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
    1. [種類] 列でソース行をクリックし、[フィールド] をクリックします。
    2. [エバリュエータ プロパティ] ボタン ボタン をクリックします。
    3. [フィールド エバリュエータ] ダイアログ ボックスに式を入力します。
    4. [OK] をクリックします。

    フィールド式エバリュエータを設定する手順

  8. ソースに VBScript エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
    1. [種類] 列でソース行をクリックし、[VB Script] をクリックします。
    2. [エバリュエータ プロパティ] ボタン ボタン をクリックします。
    3. [スクリプト エバリュエータ] ダイアログ ボックスにスクリプトを入力します。
    4. [OK] をクリックします。

    この例では、規制ネットワーク属性は VBScript エバリュエータを使用して、ルートおよび他のネットワーク解析を交差する橋からブロックしています。

    橋を制限するために VBScript エバリュエータを規制属性に使用した例

  9. ソースに関数エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
    1. [種類] 列でソース行をクリックし、[関数エバリュエータ] をクリックします。
    2. [エバリュエータ プロパティ] ボタン ボタン をクリックします。
    3. [関数エバリュエータ] ダイアログ ボックスに関数を入力します。
    4. [OK] をクリックします。

    この例では、規制属性は記述子属性とパラメータを使用して、最大の車高制限が車両の車高より低い道路をブロックしています。

    関数エバリュエータが最大の車高制限が車両の車高より低い道路を制限している例

  10. グローバル ターン遅延エバリュエータを割り当てるには、次のトピック「グローバル ターンの確立」をご参照ください。
  11. エッジ交通量エバリュエータを割り当てるには、次のトピック「履歴交通量データ」をご参照ください。

    エッジ交通量データは、ネットワーク データセット上で履歴交通量のプロパティを設定すると自動的に作成されます。

  12. ネットワーク属性のエバリュエータを設定した後、残りのダイアログ ボックスを閉じて、必要に応じてネットワークを構成することができます。

    注意注意:

    加えた変更によりネットワーク データセットがソース フィーチャクラスにアクセスする必要が生じた場合のみ、ネットワーク データセットを再構築する必要があります。たとえば、ソース フィーチャクラスから時間コストを取得するフィールド エバリュエータを作成した場合、ネットワークを再構築する必要があります。ソース フィーチャのジオメトリを変更した場合、ネットワーク データセットを再構築する必要があります。ただし、関数エバリュエータ、VBScript エバリュエータ、またはグローバル ターン遅延エバリュエータを作成したときには、これらのエバリュエータがソース フィーチャクラスから直接情報を取得しないため、ネットワークを再構築する必要はありません。

  13. [OK] をクリックします。

    [ネットワーク データセット プロパティ] ダイアログ ボックスが閉じます。

  14. カタログ ウィンドウでネットワーク データセットを右クリックし、[ビルド] をクリックします。

関連項目


7/10/2012