Network Analyst のライセンスで利用可能。
ネットワーク エレメントはソース フィーチャから作成されます。コスト属性や階層属性などのネットワーク属性はネットワーク エレメントの値を保持しています。エバリュエーターは特定のソース フィーチャクラスから作成されるエレメントの属性値を計算します。これは、1 つのネットワーク エレメントが複数のエバリュエーターを持つことを意味しています。たとえば、マルチモーダル ネットワークの 1 つのコスト属性が道路、鉄道、歩道、ターン、ジャンクションなどの各ソース フィーチャクラスのエバリュエーターを持つことができます。
このトピックでは、エバリュエーターの設定方法について説明します。
- [ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
- [属性] タブをクリックします。
次の図に示されたネットワーク データセットには、「RoadClass」、「Oneway」、「Minutes」、および「Meters」という 4 つのネットワーク属性があります。
- エバリュエーターを変更する必要がある属性を選択して、[エバリュエーター] をクリックします。
[エバリュエーター] ダイアログ ボックスが表示されます。
- ソースにフィールド エバリュエーターを割り当てるには、以下の手順に従います。フィールド エバリュエーターに式を追加する方法の説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[フィールド] をクリックします。
- [値] 列でソース行をクリックし、リストから適切なフィールドを選択します。
次の図は、ソース フィーチャを To-From 方向にデジタイズした道路のフィーチャクラスのフィールド エバリュエーターを示しています。
- ソースにフィールド式エバリュエーターを割り当てるには、以下の手順に従います。他のエバリュエーターに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[フィールド] をクリックします。
- [エバリュエーター プロパティ] ボタン をクリックします。
- [フィールド エバリュエーター] ダイアログ ボックスで、式を VBScript と Python のどちらで書くかを選択します。パフォーマンスを向上させるには VBScript の使用をお勧めします。ただし、ArcGIS for Server (Linux) でネットワーク データセットを構築する予定の場合は、Python の使用が必要になります。
- 式を入力します。
- [OK] をクリックします。
- ソースに定数エバリュエーターを割り当てるには、以下の手順に従います。他のエバリュエーターに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、ドロップダウン リストから [定数] をクリックします。
- [値] 列でソース行をクリックし、規制属性に [規制を無視] または [規制を使用] を選択するか、コスト属性、記述子属性、階層属性に数値を入力します。
次の図は、ターンのソース フィーチャクラスに対する規制属性の定数エバリュエーターを示しています。
- ソースに スクリプト エバリュエーターを割り当てるには、以下の手順に従います。他のエバリュエーターに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[スクリプト] をクリックします。
- [エバリュエーター プロパティ] ボタン をクリックします。
- [スクリプト エバリュエーター] ダイアログ ボックスで、スクリプトを VBScript と Python のどちらで書くかを選択します。パフォーマンスを向上させるには VBScript の使用をお勧めします。ただし、ArcGIS for Server (Linux) でネットワーク解析を実行する予定の場合は、Python の使用が必要になります。
- スクリプトを入力します。
- [OK] をクリックします。
この例では、規制ネットワーク属性は VBScript エバリュエーターを使用して、ルートおよび他のネットワーク解析を交差する橋からブロックしています。
以下に、同様のスクリプトを Python で作成した場合のスクリーン キャプチャを示します。関数は [事前に作成したスクリプト コード] 内で定義され、def キーワードで開始されています。関数は [Value =] から呼び出されます。
- ソースに関数エバリュエーターを割り当てるには、以下の手順に従います。他のエバリュエーターに関する説明は、この次のステップに進んでください。
- [種類] 列でソース行をクリックし、[関数] をクリックします。
- [エバリュエーター プロパティ] ボタン をクリックします。
- [関数エバリュエーター] ダイアログ ボックスに関数を入力します。
- [OK] をクリックします。
この例では、規制属性 (HeightRestriction) が記述子属性 (MaxHeight) とパラメーター (車高) を参照して、車高制限が車両の車高より低い道路を禁止しています。
- グローバル ターン遅延エバリュエーターを割り当てるには、トピック「グローバル ターンの確立」をご参照ください。
- エッジ交通量エバリュエーターを割り当てるには、トピック「交通量データとは」をご参照ください。
エッジ交通量エバリュエーターは、ネットワーク データセット上で交通量のプロパティを設定すると自動的に作成されます。
- [OK] をクリックします。
[ネットワーク データセット プロパティ] ダイアログ ボックスが閉じます。
- カタログ ウィンドウでネットワーク データセットを右クリックし、[ビルド] をクリックします。
ネットワーク属性のエバリュエーターを設定した後、残りのダイアログ ボックスを閉じて、必要に応じてネットワークを構築することができます。