エバリュエータの割り当て
ネットワーク エレメントはソース フィーチャから作成されます。コスト属性や階層属性などのネットワーク属性はネットワーク エレメントの値を保持しています。エバリュエータは特定のソース フィーチャクラスから作成されるエレメントの属性値を計算します。これは、1 つのネットワーク エレメントが複数のエバリュエータを持つことを意味しています。たとえば、マルチモーダル ネットワークの 1 つのコスト属性が道路、鉄道、歩道、ターン、ジャンクションなどの各ソース フィーチャクラスのエバリュエータを持つことができます。
このトピックでは、エバリュエータの設定方法について説明します。
- [ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
-
[属性] タブをクリックします。
次の図に示されたネットワーク データセットには、「RoadClass」、「Oneway」、「Minutes」、および「Meters」という 4 つのネットワーク属性があります。
-
変更する必要があるエバリュエータを持つ属性を選択して、[エバリュエータ] をクリックします。
[エバリュエータ] ダイアログ ボックスが表示されます。
-
ソースにフィールド エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[フィールド] をクリックします。
- [値] 列でソース行をクリックし、リストから適切なフィールドを選択します。
次の図は、ソース フィーチャを To-From 方向にデジタイズした道路のフィーチャクラスのフィールド エバリュエータを示しています。
ヒント:[種類] 列と [値] 列に同時に値を割り当てることができます。[種類] の値を割り当てるには、Ctrl キーまたは Shift キーを押しながら [属性値] テーブルの列をクリックします。選択した列のうち 1 つの列を右クリックし、[種類] をクリックして、必要なエバリュエータの種類を選択します。
同様に、複数の行に対して [値] 列に同じ値を割り当てることができます。そのためには 2 行以上を選択し、選択した行のうち 1 つの行を右クリックし、[値] をポイントして [プロパティ] をクリックします。開いたダイアログ ボックスで指定した設定は、[エバリュエータ] ダイアログ ボックスの [属性値] テーブルで選択したすべての行に割り当てられます。
-
ソースに定数エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、ドロップダウン リストから [定数] をクリックします。
-
[値] 列でソース行をクリックし、[Traversable] を選択するか、規制属性用に [規制] を選択するか、またはコスト属性、記述子属性、階層属性用に数値を入力します。
次の図は、ターンのソース フィーチャクラスにおける規制属性の定数エバリュエータを示しています。
-
ソースにフィールド式エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[フィールド] をクリックします。
- [エバリュエータ プロパティ] ボタン をクリックします。
- [フィールド エバリュエータ] ダイアログ ボックスに式を入力します。
- [OK] をクリックします。
-
ソースに VBScript エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[VB Script] をクリックします。
- [エバリュエータ プロパティ] ボタン をクリックします。
- [スクリプト エバリュエータ] ダイアログ ボックスにスクリプトを入力します。
- [OK] をクリックします。
この例では、規制ネットワーク属性は VBScript エバリュエータを使用して、ルートおよび他のネットワーク解析を交差する橋からブロックしています。
-
ソースに関数エバリュエータを割り当てるには、以下の手順に従います。他のエバリュエータに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[関数エバリュエータ] をクリックします。
- [エバリュエータ プロパティ] ボタン をクリックします。
- [関数エバリュエータ] ダイアログ ボックスに関数を入力します。
- [OK] をクリックします。
この例では、規制属性は記述子属性とパラメータを使用して、最大の車高制限が車両の車高より低い道路をブロックしています。
- グローバル ターン遅延エバリュエータを割り当てるには、次のトピック「グローバル ターンの確立」をご参照ください。
- エッジ交通量エバリュエータを割り当てるには、次のトピック「履歴交通量データ」をご参照ください。
エッジ交通量データは、ネットワーク データセット上で履歴交通量のプロパティを設定すると自動的に作成されます。
-
[OK] をクリックします。
[ネットワーク データセット プロパティ] ダイアログ ボックスが閉じます。
- カタログ ウィンドウでネットワーク データセットを右クリックし、[ビルド] をクリックします。
ネットワーク属性のエバリュエータを設定した後、残りのダイアログ ボックスを閉じて、必要に応じてネットワークを構成することができます。
加えた変更によりネットワーク データセットがソース フィーチャクラスにアクセスする必要が生じた場合のみ、ネットワーク データセットを再構築する必要があります。たとえば、ソース フィーチャクラスから時間コストを取得するフィールド エバリュエータを作成した場合、ネットワークを再構築する必要があります。ソース フィーチャのジオメトリを変更した場合、ネットワーク データセットを再構築する必要があります。ただし、関数エバリュエータ、VBScript エバリュエータ、またはグローバル ターン遅延エバリュエータを作成したときには、これらのエバリュエータがソース フィーチャクラスから直接情報を取得しないため、ネットワークを再構築する必要はありません。