Network Analyst のライセンスで利用可能。
ArcGIS Network Analyst エクステンションでは、履歴交通量情報を使用して、道路上での時間依存の移動速度をモデル化することができます。そうすることで、予想される移動時間と到着時間はさらに信頼性が高くなり、実際に運転に費やす時間は、交通量のパターンを無視した場合に比べて少なくなります。
ヒント:
Network Analyst チュートリアル データは、ArcGIS.com で入手でき、サンフランシスコの交通量データを含むジオデータベースが用意されています。SanFrancisco.gdb ファイルに含まれている Streets フィーチャクラス、DailyProfiles テーブル、および Streets_DailyProfiles テーブルを詳しく調査すると、このトピックの理解が深まります。データをダウンロードして抽出すると、サンフランシスコ ジオデータベースは \Network Analyst\Tutorial\SanFrancisco.gdb に配置されます。
注意:
交通量データはジオデータベースでのみ構成可能です。シェープファイル ベースのネットワーク データセットでは構成できません。
履歴交通量属性のプロパティ
[履歴交通量] タブには、履歴交通量をサポートするネットワーク データセットに構成できるプロパティが表示されます。
- [速度] - 履歴交通量データが速度ベースの場合は [速度] を選択します。
- [移動時間] - 履歴交通量データが時間ベースの場合は、[移動時間] を選択します。
- [交通量プロファイル] - 次のテーブルを使用して、[交通量プロファイル] テーブルのプロパティを設定します。
プロパティ 説明 [プロファイル テーブル]
交通量プロファイルが含まれているテーブルの名前。
[最初のタイム スライス フィールド]
このプロパティは [最後のタイム スライド フィールド] と組み合わせて使用し、履歴交通量プロファイルを参照する時間の範囲を指定します。この範囲外の時刻についてエッジが評価された場合、その乗数は 1 と想定されます。この想定により、交通量がほとんどない時間帯でのコストの検索が高速化されます。
[最後のタイム スライス フィールド]
[最初のタイム スライス フィールド] の説明をご参照ください。
[各タイム スライスの期間を分単位で指定します]
交通量プロファイル テーブルでは、1 日を等間隔に分割する必要があります。このプロパティは、間隔の長さを分単位で指定します。
[最初のタイム スライスの開始時間を指定します]
このプロパティは、[最初のタイム スライス フィールド] の始まりの時刻を指定します。
たとえば、[最初のタイム スライス フィールド] を SpeedFactor_0000 に設定すると、開始時間は午前 12:00 になるため、最初のタイム スライスの開始時間は午前 12 時に設定されます。
[最後のタイム スライスの終了時間]
このプロパティは、[最後のタイム スライス フィールド] の最後の時刻を指定します。これは、タイム スライス フィールドの数とタイム スライスの分数の値から自動的に計算されます。
- [プロファイル割り当て] - このセクションでは、プロファイルを道路セグメントに割り当て、ベースライン値を設定します。
プロパティ 説明 [道路 - プロファイル テーブル]
道路が順調に流れているときの速度 (または移動時間) と、道路と交通量のプロファイルのリレーションシップが含まれているテーブルの名前。
[フリーフロー移動時間フィールド] または [フリーフロー速度フィールド]
このプロパティの名前は、履歴交通量データで [移動時間] と [速度] のどちらを選択しているかによって変わります。このプロパティは、順調に流れているときの移動時間 (データが速度ベースのときは移動速度) が含まれるフィールドを示します。
[フリーフロー フィールド単位]
このプロパティは、[フリーフロー移動時間フィールド] で指定されたフィールドの時間単位 (データが速度ベースのときは、[フリーフロー速度フィールド] の速度単位) を示します。
- [日曜日フィールド]
- [月曜日フィールド]
- [火曜日フィールド]
- [水曜日フィールド]
- [木曜日フィールド]
- [金曜日フィールド]
- [日曜日フィールド]
- [土曜日フィールド]
各曜日の交通量に対する交通量プロファイル ID が含まれているフィールドの名前。
Network Analyst で使用する履歴交通量データの作成
データを第三者から受け取る場合でも、それをネットワーク データセット内で正しく構成できるようにするために、履歴交通量データの作成方法を理解しておくことが重要になります。このセクションでは、Network Analyst が使用するモデルについて説明します。
交通量データは移動速度の連続的な増減を捉えるため、エッジの各移動方向に、時刻に応じて変化するコストが多数ある可能性があります。これは、エッジ方向ごとに 1 つの値のみが許可される一般的なコスト属性とは対照的です。
1 つのエッジ方向につき複数のコストをモデル化する方法はいくつかあります。Network Analyst で特定のモデルが使用される理由を理解するには、交通量のモデル化における一般的な方法を理解することが重要です。
一般的な履歴交通量モデル
履歴交通量データを保存するための方法の 1 つは、各エッジについて一連のコストを作成するというものです。このコストは、1 週間にわたって異なる時刻の走行速度を表します。たとえば、1 週間は 168 個の分離した 1 時間の間隔に分割することができます。つまり、交通量が 1 週間に変化する傾向を表現するには、168 個のコスト属性が各エッジに必要になります。時間分解能を高めるために時間間隔を 5 分に短縮すると、各エッジには 2,016 個のコスト属性が必要になります。特に大規模なネットワークの場合、これらの一意の値をすべて格納するには大きな空間が必要になります。さらに、多くの道路では 1 日中コストが変わらないため、不必要なデータの重複が数多く生じます。こうした理由から、Network Analyst では、このモデル化の方法は有効ではありません。
Network Analyst の履歴交通量モデル
ArcGIS は、すべての交通量データをフィーチャ単位に格納せずに、正規化されたモデルを使用してデータのサイズを最小限にとどめています。フィーチャごとに 168 または 2,016 のコスト属性を格納する代わりに、関連テーブルを作成してこの情報を保持します。テーブルの各行には、1 日の間隔ごとの速度 (あるいは移動時間) が入ります。1 行は交通量プロファイルで、1 日の中で速度がどのように変化するかを表します。たとえば、移動速度が 1 日を通じて一斉に変化する、時速 35 マイルの一般道路が多数ある場合は、交通量プロファイル テーブルにその動的な変化を表す行を 1 行作成して、これらの道路が同じ行、つまり交通量プロファイルを参照するように設定できます。1 日を通じて同じ交通量のパターンを示す、速度制限が異なる道路についても、同じ交通量プロファイルを参照できるように改良することができます。
この交通量モデルに対する理解を深めるために、月曜日から 1 週間にわたって、一方通行の道路セグメントについて、このモデルを使用して移動速度を記録し、保存する必要があると仮定します。最初に、順調に流れているときの速度、つまり車両が交通量によって走行を妨げられずに移動する速度を決定します。順調に流れているときの速度を決める方法は自由に選択できますが、通常は速度制限、または他の車両がないときに測定した車両の平均速度になります。ここでは、測定した車両平均速度を選択し、順調に流れているときの速度を時速 70 マイルとします。
これで、1 日を通して同じ間隔、つまりタイム スライスで測定を行うことができます。選択した間隔は、データの時間分解能になります。1 時間、または 10 分などの間隔を選択できます。ここでは、5 分間隔を選択することにします。測定値は、順調に流れているときの速度の縮尺係数として記録されます。この縮尺係数は、0 ~ 1 の範囲内に制限されます。対象の車両が午前 8:00 に時速 28 マイルで移動しているとします。これは順調に流れているときの移動速度の 0.4 倍です。午後 5:00 の平均速度は時速 60 マイルで、順調に流れているときの移動速度の 0.85 倍です。午後 11:00 になると道路上に車両がほとんどなくなり、平均速度は時速 70 マイルでした。これは、順調に流れているときの速度に等しく、縮尺係数は 1 になります。
1 日の測定が完了したら、交通量プロファイルのテーブルを参照して、測定した 1 日の相対的な速度の変動に最もよく一致するプロファイルを 1 つ選択します。
交通量プロファイル 68 (下図にプロット) を、このセグメントの月曜日の移動時間を表すプロファイルとして選択します。
注意:
プロファイルの時刻は常に現地時間、つまり参照エッジが属するタイム ゾーンを表しています。したがって、プロファイル 68 を参照するロサンゼルスのエッジでは、太平洋標準時の午前 8:00 の速度は順調に流れているときの速度の 40% になります。同じプロファイルを参照するニューヨークのエッジでは、東部標準時の午前 8:00 の速度は順調に流れているときの速度の 40% になります。
プロファイルの数が多いほど、移動時間を正確にモデル化できる可能性が高まります。ただし、プロファイルが少ないほど、データの格納領域の要件を抑えることができます。正確性と格納領域の要件のバランスを取ることが重要になります。大きい道路ネットワークでは、数十から数百個の交通量プロファイルを持つのが普通です。
月曜日のプロファイルは選択しましたので、他の曜日についても同じプロセスを繰り返す必要があります。プロセスの概要は以下のとおりです。
- 道路セグメントの順調に流れているときの移動速度を測定するか計算します (これはどの曜日でも同じなので、繰り返す必要はありません)。
- 1 日を等間隔に分けて、それぞれの平均速度を測定します。
- それぞれの速度を、順調に流れているときの速度の縮尺係数 (0 から 1 の間) に変換します (速度ではなく移動時間を直接モデル化する場合は、縮尺係数を 1 以上にする必要があります)。
- その曜日の道路セグメントの交通量を表すプロファイルを選択します。
交通量プロファイル 68 が残りの平日についてもこのセグメントに適合することを確認します。一般的な交通量のパターンは平日ならどの曜日でも同じことが多いため、多くの場合この適合性を確認できます。それでも、曜日によって使用するプロファイルが異なるケースも珍しくはありません。たとえば、月、火、水は同じプロファイルを使用し、木と金は別のプロファイルを使用する場合などです。
このセグメントでは土曜日と日曜日は交通量が少なく、一定しているため、週末の移動時間を表す交通量プロファイル 3 (下図) を選択します。
次に、順調に流れているときの速度と、道路セグメントと交通量プロファイルのリレーションシップを道路 - プロファイル テーブルに格納します。次のセクションでは、このテーブル、およびその他の必須入力について検討します。
ジオデータベースへのデータとリレーションシップの格納
履歴交通量データを持つネットワーク データセットを作成するには、ジオデータベース内に 1 つ以上のライン フィーチャクラスと 2 つのテーブルが必要です。道路を表すこのライン フィーチャクラスは、フィーチャ データセットに格納する必要があります。速度プロファイルを 1 つのテーブルに格納し、道路と速度プロファイルのリレーションシップをもう 1 つのテーブルに格納します。ネットワーク データセットに履歴交通量を設定するために必要なこれらのアイテムとフィールドについては、以降のサブセクションで説明します。
注意:
道路と速度プロファイルのリレーションシップは、一意の識別子の値をテーブルに格納することによって作成できます。リレーションシップ クラスを作成する必要はありません。
道路フィーチャクラス
各道路フィーチャは一意の識別子 (ObjectID 値) を持ちます。道路 - プロファイル テーブルは、一意の識別子を使って、道路をそのさまざまな交通量プロファイルに関連付けます。
履歴交通量データを設定するときに他のフィールドを使用できる場合があります。それらのフィールドを以下に一覧表示し、この後で詳しく説明します。
フィールド | フィールド名の例 | 説明 |
---|---|---|
時間に依存しない移動時間 | FT_Minutes TF_Minutes | 交通量を使用するルート解析または配車ルート解析で、ロケーションを順序付けするときに使用するネットワーク コスト属性を作成します。 |
平日の移動時間 | FT_WeekdayMinutes TF_WeekdayMinutes | 道路セグメントに平日の履歴交通量プロファイルが関連付けられていない場合に使用するネットワーク コスト属性を作成します。 (全時間の移動時間がしばしば平日固有の移動時間としても使用される)。 |
週末の移動時間 | FT_WeekendMinutes TF_WeekendMinutes | 道路セグメントに土曜または日曜日の交通量プロファイルが関連付けられていない場合に使用されるネットワーク コスト属性を作成します。 |
タイム ゾーン | TimeZoneID | ネットワークが複数のタイム ゾーンにまたがるときに必要なタイム ゾーン ネットワーク属性を作成します。 |
プロファイル テーブル
交通量プロファイル テーブルの各レコードには、一意な識別子と、1 日のさまざまな時間の順調に流れているときの縮尺係数を格納する複数のフィールドがあります。1 日を同じ時間幅の間隔 (タイム スライス) に分割します。つまり、24 時間を等間隔に分割することになります。たとえば、タイム スライスが 5 分間の場合、288 フィールドが必要になります (午前 12:00 ~ 12:05 に 1 つ、12:05 ~ 12:10 に 1 つ、など)。
Network Analyst のチュートリアル データのサンフランシスコ ジオデータベースには、5 分のタイム スライスで 1 日分に対応できるプロファイルがあります。[SpeedFactor_0000] フィールドには、午前 0:00 ~ 0:05 の順調に流れているときの縮尺係数が入ります。[SpeedFactor_1140] フィールドには、午前 11:40 ~ 11:45 の乗数が入ります。道路フィーチャをプロファイルに関連付けると、1 日のどの時間についても予想される移動時間を取得できます。たとえば、道路をプロファイル 16 (下の画像を参照) に関連付けると、道路の順調に流れているときの移動時間にプロファイルの [SpeedFactor_1140] の値 (0.889) を乗算して、午前 11:41 の予想される移動時間を計算できます。
道路 - プロファイル テーブル
道路 - プロファイル テーブルは、道路フィーチャ、その順調に流れているときの速度 (または移動時間)、曜日ごとの関連プロファイルを指定します。次の表は必須フィールド、フィールド名の例、可能なデータ タイプ、簡単な説明を示しています。
フィールド | フィールド名の例 | データ タイプ | 説明 |
---|---|---|---|
エッジ フィーチャクラス識別子 | EdgeFCID このフィールドの名前は EdgeFCID にしなければなりません。 | Long integer | 道路フィーチャが格納されるフィーチャクラスを指定します。 |
エッジ フィーチャ識別子 | EdgeFID このフィールドの名前は EdgeFID にしなければなりません。 | Long integer | 道路フィーチャを指定します。 |
エッジの方向 | EdgeFrmPos このフィールドの名前は EdgeFrmPos にしなければなりません。 | Double | EdgeToPos と組み合わせて、移動の方向または道路の側を示します。ゼロは、デジタイズの方向で決まるライン フィーチャの始点を示します。1 はその反対側を示します。 たとえば、EdgeFrmPos の値が 0 で EdgeToPos の値が 1 なら、(右側通行と仮定すると) ライン フィーチャの右側を示します。同じレコードにリストされている交通量プロファイルは、道路のそちら側の交通量のみを表します。 10 進数値は、フィーチャのデジタイズ方向に沿った位置を指定します。これにより、[ネットワークのディゾルブ (Dissolve Network)] ツールは、エッジがディゾルブされた後も道路の正しいプロファイルを維持できます。 |
エッジの方向 | EdgeToPos このフィールドの名前は EdgeToPos にしなければなりません。 | Double | EdgeFrmPos と組み合わせて、移動の方向または道路の側を示します。 |
フリーフロー速度フィールド もしくは フリーフロー移動時間フィールド | BaseSpeedKPH もしくは FreeflowMinutes | Float または Double (フリーフロー移動時間フィールド) Float、Double、Short Integer または Long Integer (フリーフロー速度フィールド) | 順調に流れているときの速度。必要に応じて、順調に流れているときの移動時間。 フリーフロー速度フィールドの場合は、時速キロメートルまたは時速マイルで表すことができます。フリーフロー移動時間フィールドの場合は、日、時間、分、秒のいずれかで表すことができます。 |
日曜日のプロファイル フィールド | Profile_1 SundayProfile | short または long integer | EdgeFCID、EdgeFID、EdgeFrmPos、EdgeToPos で指定される道路の部分について、日曜日の交通量パターンを最もよく表す Profiles テーブルの ObjectID。 |
月曜日のプロファイル フィールド | Profile_2 MondayProfile | short または long integer | 月曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
火曜日のプロファイル フィールド | Profile_3 TuesdayProfile | short または long integer | 火曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
水曜日のプロファイル フィールド | Profile_4 WednesdayProfile | short または long integer | 水曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
木曜日のプロファイル フィールド | Profile_5 ThursdayProfile | short または long integer | 木曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
金曜日のプロファイル フィールド | Profile_6 FridayProfile | short または long integer | 金曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
土曜日のプロファイル フィールド | Profile_7 SaturdayProfile | short または long integer | 土曜日の交通量を最もよく表す Profiles テーブルの ObjectID。 |
道路 - プロファイル テーブルの例として、Streets_DailyProfiles という名前のテーブルを以下のスクリーン ショットに示します。フィールド PROFILE_1 は日曜日のプロファイル フィールドを、PROFILE_7 は土曜日のプロファイル フィールドを、PROFILE_2 から PROFILE_6 まで (図にはありません) は月曜日から金曜日までのプロファイル フィールドを表します。
選択したレコード (ObjectID 111) は、各曜日のプロファイルと、オブジェクト ID が 28803 の道路フィーチャの From-To 側を関連付けます。道路の From-To 方向は、EdgeFrmPos 値 (0) と EdgeToPos 値 (1) によって指定されます。交通量プロファイル 12 は、PROFILE_1 フィールドと PROFILE_7 フィールドの値が 12 であることから、日曜日と土曜日の道路の From-To 側を表します。SPFREEFLOW フィールドは、順調に流れているときに From-To 方向に道路を通過する移動速度を示します。
最初のレコード (Object ID 109) は、道路セグメントの From-To 方向のプロファイルを格納し、2 番目のレコード (Object ID 110) は、同じ道路セグメントの反対方向のプロファイル ID を格納しています。これは、EdgeFCID と EdgeFID の値が同じで、EdgeFrmPos と EdgeToPos の値が逆になっていることから推定されます。日曜日と土曜日のプロファイル フィールドの値がゼロである点に注目してください。これは、データが収集されておらず、これらの日についてはプロファイルが選択されていないことを意味します。そのエッジの土曜日または日曜日の履歴移動時間を評価する場合、エバリュエーターは、エッジ交通量エバリュエーターに定義された 2 つ目のコスト属性に戻る必要があります。
履歴交通量の変更
以下の手順に従って、ネットワークの履歴交通量設定を変更します。
- [ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
- [交通量] をクリックします。
[履歴交通量] と [ライブ交通量] の 2 つのタブが表示されます。ただし、使用しているネットワーク データセットが作成された時点で交通量をサポートするよう構成されていない場合、これらのタブは利用できません。
- [履歴交通量] タブをクリックします。
- 履歴交通量データを、移動速度に基づくものにするか、移動時間に基づくものにするかを指定します。
移動時間に基づく交通量プロファイルには 1 以上の値を指定する必要があります。1 は順調な流れを表し、これよりも大きな縮尺係数はそれよりも移動時間が長くなることを示します。一方、プロファイルが移動速度に基づく場合は、縮尺係数を 0 ~ 1 の間にする必要があります。1 は順調な走行速度を示します。縮尺係数が 0 に近づくほど、走行速度も 0 に近づきます。
- [交通量プロファイル] セクションでプロパティを設定します。
- [プロファイル割り当て] セクションでプロパティを設定します。
- [OK] をクリックします。
変更内容がネットワーク データセットに保存されます。