Skip to main content

ネットワークで使用するエバリュエーターの種類

Network Analyst ライセンスで利用可能。

ネットワークに定義されている各属性は、ネットワークに含まれる各ソースの値を持つ必要があります。 エバリュエーターは、各ソースの属性の値を割り当てます。 フィールド スクリプト エバリュエーターは、ネットワーク ソースのフィールドのエバリュエーターをネットワーク属性、ソース、および方向の組み合わせに割り当てます。 さらに、定数エバリュエーター、関数エバリュエーター、エレメント スクリプト エバリュエーターなど、他の種類のエバリュエーターも存在します。

エバリュエーターについては、以下で説明します。

エバリュエーター

説明

フィールド スクリプト

ネットワーク属性に値を割り当てる最も一般的な方法は、ネットワーク データセットの構築時にネットワーク属性の値となる 1 つのフィールドを指定する方法です。 たとえば、メートルで示した各道路セグメントの長さのように、値が測定値を説明する場合にフィールド エバリュエーターを使用できます。

ヒント:

コスト属性に距離の単位が含まれている場合、フィールド スクリプト エバリュエーターで Shape フィールドを使用すると、ライン フィーチャの測地線の長さがネットワーク属性の単位で返されます。 これは、システム管理の Shape_Length フィールドの使用とは対照的です。このフィールドには、フィーチャクラスの座標系における各ライン フィーチャの平面線長が格納され、その長さは座標系の歪みの影響を受けます。

Shape および Shape_Length フィールドはファイル ジオデータベース フィーチャクラスに存在することに注意してください。 エンタープライズ ジオデータベースの場合、ジオメトリーおよび長さフィールドの名前が、お使いの DBMS によって異なることがあります。

フィールド エバリュエーターは、1 つのフィールドの代わりに、値としてフィールド式を指定することができます。 たとえば、ネットワーク属性の単位がメートルで、ソース データの単位がフィートの場合、ネットワーク データセットの構築時にフィートをメートルに変換する式を作成できます。

フィールド スクリプト エバリュエーターの例をご参照ください

レガシー:

以前のバージョンの ArcGIS Pro では、フィールド スクリプト エバリュエーターは VBScript を使用して構成できました。 VBScript ベースのフィールド スクリプト エバリュエーターを使用してネットワーク解析を実行することもできますが、ネットワークを編集するには、これらのエバリュエーターを Python に更新する必要があります。

VBScript エバリュエーターを Python に移行する方法の詳細

定数

属性には、定数を割り当てることができます。 コスト属性、記述子属性、階層属性の値は数値です。規制属性では、ブール式データ タイプの規制を使用または規制を無視になります。

関数

関数エバリュエーターは属性値を計算するために、別の属性値、パラメーター値または定数で簡単な数学演算または論理比較を実行します。 属性タイプが数値の場合は、別のネットワーク属性と定数またはパラメーター値の乗算、除算、加算、または減算によって値が導出されます。 属性タイプがブール値の場合は、別の属性値とパラメーター値または定数を比較する式 (MaxHeight < VehicleHeight など) から属性値が求められます。

レガシー:

加算 (+) 演算子と減算 (-) 演算子はコスト属性で使用できません。

加算 (+) 演算子および減算 (-) 演算子は ArcGIS Pro 2.3 で追加されました。 エバリュエーターは、古いバージョンのソフトウェアではエラーを生成します。

ターン カテゴリー

ターン カテゴリー エバリュエーターは、2 つのエッジ エレメントの間を移動するためのデフォルトとなるコスト値を割り当てます。 コストは 2 つのエッジ間の相対角度と通過するエッジの道路クラス (幹線道路、一般道路、生活道路) に基づきます。 また、コストは、ターン移動によって横切られる交差点のカテゴリーの影響を受けることもあります。 たとえば、ターン カテゴリー エバリュエーターを使用して、すべての左折 (左折かどうかは相対角度によって決定されます) について、生活道路から一般道路への左折を生活道路間の左折に比べて時間を要する設定にすることができます。 また、2 本の一般道路の交差点を直進する際に 10 秒間の遅延を追加するなど、他の移動に対して追加のコストを指定することもできます。

エレメント スクリプト

属性を Python スクリプトの実行結果から割り当てることができます。 これにより、複雑な属性をモデリングできます。 他のエバリュエーターとは異なり、エレメント スクリプト エバリュエーターはネットワークの構築時に値を割り当てません。 その代わりに、解析中に、ネットワーク解析でその属性の使用が必要になった場合に値を割り当てます。 属性の値が絶えず変化する場合は、エレメント スクリプト エバリュエーターを使用することにより、それぞれのネットワーク解析に対してその属性を確実に更新することができます。

ヒント:

エレメント スクリプト エバリュエーターでは、その値が解析時に計算されるので、解析のパフォーマンスに悪影響を及ぼす傾向があります。 可能であれば、他のエバリュエーターを使用してください。

エレメント スクリプト エバリュエーターの例をご参照ください

レガシー:

以前のバージョンの ArcGIS Pro では、エレメント スクリプト エバリュエーターは VBScript を使用して構成できました。 VBScript ベースのエレメント スクリプト エバリュエーターはサポートされなくなったため、ネットワークを解析に使用するには、Python に更新する必要があります。

VBScript エバリュエーターを Python に移行する方法の詳細

交通量

交通量エバリュエーターは、交通量データに使用します。 履歴データまたはライブ データを使用して、特定の曜日および時刻の移動時間を提供します。 特定時刻の移動時間が利用できないときに平日および週末の移動時間を提供する代替コスト属性が含まれています。 交通量エバリュエーターには、ルート解析でのストップや配車ルート解析での訪問を順序付ける場合や、解析で到着または出発時間が指定されない場合に、Network Analyst で参照される、時間に依存しないコスト属性も含まれます。

交通量の詳細

公共交通機関

公共交通機関エバリュエーターは、スケジュールされた公共交通サービスに基づいて、公共交通機関のライン セグメントに沿って移動時間を計算します。 返される移動時間には、スケジュールされた次の移動が開始するまでの待ち時間と、公共交通機関ライン セグメントの端から端への移動時間が含まれます。 このエバリュエーターを使用して、公共交通機関で移動する旅行者をモデル化します。 道路を走行するバスの移動時間をモデル化するには不向きです。

公共交通機関エバリュエーターは、ネットワーク データセットのフィーチャ データセットとジオデータベースに、Network Analyst 公共交通機関データ モデル で必要とされるすべてのフィーチャクラスとテーブルが含まれている場合に、エッジ ソース上の時間ベースのコスト属性 (LineVariantElements) に対してのみ使用できます。

公共交通機関エバリュエーターの詳細

公共交通機関を使用したネットワーク解析についての詳細

デフォルトと同じ

ソース カテゴリーには、デフォルトのエバリュエーター タイプが存在します。 ソースのエバリュエーター タイプが デフォルトと同じ に設定されている場合は、デフォルトとして設定されているエバリュエーターが使用されます。

順方向と同じ

エッジ カテゴリーのソースのエバリュエーター タイプが 順方向と同じ に設定されている場合は、ソース フィーチャ 道路 (順方向) で使用されるエバリュエーターが使用されます。

非サポート

エバリュエーターは、現在のバージョンの ArcGIS Pro ではサポートされていません。

サポートされていないエバリュエーターの詳細

注意:

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