ネットワーク属性でのパラメーターの使用

ネットワーク属性の値は変動する条件に依存する場合があります。たとえば、車両の車高を使用して、低い歩道橋が設置された道路部分を通過できるかを判定できます。現在の気象条件により移動速度が遅くなると、ネットワークの時間コストに影響をおよぼす場合があります。車両の車高に基づく規制やスケール ファクターに基づく移動コストなどのネットワーク解析における変動する要素を、下記の 2 つの方法の内のいずれかを使用してモデリングすることができます。1 つの方法は、高さまたは気象条件に変動があるたびにネットワーク属性を作成するというものです。しかし、この方法は、変更する属性の数が増えるにつれて扱いにくくなります。もう 1 つの方法は、ネットワーク属性を、この属性の変動的な要素を含むパラメーターと一緒に使用するというもので、汎用性があります。

パラメーターとは、特定の解析について変更できる値のプレースホルダーです。それぞれに意味のあるデフォルト値が設定されていますが、必要に応じてユーザーが無効にすることができます。パラメーターは、ネットワーク属性に追加され、属性のエバリュエーターによって参照されます。ネットワーク解析の設定をするときに、パラメーター値を変更できます。これにより、実行時には式と現在のパラメーター値を使用してネットワーク属性の値を求めることができます。

パラメーター化されたネットワーク属性の機能

パラメーター化されたネットワーク属性には 1 つ以上のエバリュエーターが割り当てられています。エバリュエーターは、パラメーターをそのネットワーク属性だけでなく別のネットワーク属性にも適用して、値の判断に役立てます。

一部のエバリュエーター割り当て値は、ネットワーク構築時にキャッシュされるため (フィールド スクリプトなど)、パラメーターを使用しません。ただし、割り当て値を求めるために実行時にクエリされるエバリュエーター (関数やエレメント スクリプトなど) は、結果の値に影響するパラメーターを利用できます。

車両特性をモデリングするパラメーター

次の例では、車両特性を設定して、特定の車両が通過できるネットワーク エレメントをより正確に指定するためのパラメーターを追加できます。

規制属性を車高パラメーターとともに追加して、車両の車高を、高架の下またはトンネルの中の高さ制限を保持する記述子属性と比較することができます。車高が高さ制限を超えている場合は、エッジが禁止されます。これにより、車両に応じて異なるルートが生成されます。下図に示すように、車高が低い車両は、低い高架橋を通るルートをそのままたどることになります。一方、車高が高い車両は高さ制限が低い高架橋を避けて別のルートをとることになります。

高さ制限のある橋を迂回するトラックの例

このシナリオでは、記述子属性と規制属性の 2 つの属性を、それぞれ MaxHeight と HeightRestriction という名前で作成します。MaxHeight はソース データから高さ制限値を取り込み、HeightRestriction は MaxHeight から値を読み取り、読み取った値を現在の車高を保持するパラメーターと比較することになります。下図は、このプロセスの概要を示したものです。

パラメーター化された規制属性の値の検索

コスト属性のパラメーター

別のコスト属性を参照してスケーリングすることができる、パラメーター化されたコスト属性を必要とする場合もあります。これは、凍結、霧、豪雨などの荒れ模様の天候が調査エリアを襲い、通常の車の流れが妨げられている場合に有用です。コスト属性にあらかじめパラメーターを用意しておくことにより、移動時間の予想を、走行速度の変化に応じて調整することができます。

2 つのネットワーク属性を作成することが可能です。1 つは DriveTime です。これには、通常の運転時間インピーダンスが格納され、値はソース データ内のフィールドから得られます。もう 1 つは DriveTime_scaled です。これは DriveTime の属性値をとり、その値は、現在のスケール ファクターを保持する DriveTime_scaled 属性のパラメーターによってスケーリングされます。