履歴交通量データ
交通量は道路を移動する時間に影響し、混雑しているほど移動時間が長くなります。ある場所から別の場所へのルートを、交通量を考慮せずに検討しても、正確な移動時間と到着時間は得られません。さらに、時間のかかる混雑した道路を避けることによって時間を節約できるルート選択の機会を失うかもしれません。
次の 2 つの図は、時間帯によって、主要な交通量パターンの変化に応じて最速のルートがどのように変化するかを示しています。
ArcGIS Network Analyst では、履歴交通量情報を使用して、ネットワーク エレメントの時間依存の移動コストをモデル化することができます。そうすることで、予想される移動時間と到着時間はさらに信頼性が高くなり、実際に運転に費やす時間は、交通量のパターンを無視した場合に比べて少なくなります。
Network Analyst チュートリアル データには、履歴交通量データを含むサンフランシスコのジオデータベースが含まれています。SanFrancisco.gdb に含まれている Streets フィーチャクラス、DailyProfiles テーブル、および Streets_DailyProfiles テーブルを詳しく検討すると、このトピックの理解が深まります。チュートリアル データをインストールしている場合、ジオデータベースのデフォルトの場所は次のとおりです。
C:\ArcGIS\ArcTutor\Network Analyst\Tutorial
- 履歴交通量データはジオデータベースでのみ構成可能です。シェープファイル ベースのネットワーク データセットでは構成できません。
- ArcGIS 10 では、ルート レイヤおよび配車ルート解析レイヤだけが交通量データをサポートしています。他のネットワーク解析レイヤは、将来の ArcGIS リリースでサポートされる予定です。
ArcGIS Network Analyst で使用する交通量データの作成
データを第三者から受け取る場合でも、それをネットワーク データセット内で正しく構成できるようにするために、履歴交通量データの作成方法を理解しておくことが重要になります。このセクションでは、Network Analyst が採用しているモデルの概要を説明します。
交通量データは移動時間の連続的な増減を捉えるため、エッジの各サイドで、時刻に応じてコストが大きく変化する可能性があります。これは、エッジのサイドごとに 1 つの値のみが使用される一般的なコスト属性とは対照的です。
1 日を通じて変化する移動時間コストをモデル化する 1 つの方法は、1 日を 1 時間ごとなどの間隔に区切り、移動時間を間隔ごとの個別のコスト属性として格納することです。間隔を 1 時間にすると、1 時間ごとの平均移動時間を 1 週間分格納するには、エッジごとに 168 のコスト属性が必要になります。交通量は 1 時間の間に相当に変化するため、1 時間間隔では解像度がかなり粗くなります。間隔をさらに、たとえば 5 分間程度に短縮して細分化することができます。そうすると解像度が上がりますが、必要なコスト属性は 2,016 個になります。特に大規模なネットワークの場合、これらの一意の値をすべて格納するには大きな空間が必要になります。さらに、多くの道路では 1 日中コストが変わらないため、不必要なデータの重複が数多く生じます。こうした理由から、多くの場合このモデル化の方法は有効ではありません。
ArcGIS は、すべての交通量データをフィーチャ単位に格納せずに、正規化されたモデルを使用してデータのサイズを最小限にとどめています。フィーチャごとに 168 または 2,016 のコスト属性を格納する代わりに、関連テーブルを作成してこの情報を保持します。テーブルの各行には、1 日の間隔ごとの移動時間が入ります。1 つの行が交通量プロファイルで、1 日の中で移動時間がどのように変化するかを表します。たとえば、移動速度が 1 日を通じて一斉に変化する、二次的な、時速 35 マイルの道路が何本かある場合は、交通量プロファイル テーブルにその動的な変化を表す 1 つの行を作成して、それらのすべての道路がその行、または交通量プロファイルをポイントするようにできます。後で説明するように、1 日を通じて同じ交通量のパターンを示す、速度が異なる道路についても、同じ交通量プロファイルを参照できるように改良することができます。
この交通量モデルに対する理解を深めるために、月曜日から 1 週間にわたって、一方通行の道路セグメントについて、このモデルを使用して移動時間を記録し、格納する必要があるものとします。最初に、順調に流れているときの移動時間、つまり車両が交通量によって走行が妨げられることなく道路セグメントを通過するのに要する時間を決定します。順調に流れているときの速度を決める方法は自由に選択できますが、通常はセグメントの長さと速度制限、または他の車両が走行していないときに測定された車両の移動平均時間によって決定できます。ここでは、測定した平均速度を選択し、順調に流れているときの移動時間を 10 秒とします。
これで、1 日を通して同じ間隔、つまりタイム スライスで測定を行うことができます。選択した間隔は、データの一時的な解像度になります。1 時間、または 10 分などの間隔を選択できます。ここでは、5 分間隔を選択することにします。測定値は、順調に流れているときの移動時間の乗数として記録されます。たとえば、午前 8:00 には車両がセグメントを通過するのに 26 秒を要しました。これは、順調に流れているときの移動時間の 2.6 倍に相当します。午後 5:00 には、平均移動時間は 13 秒で、順調に流れているときの移動時間の 1.3 倍です。午後 11:00 には、道路上に車両がほとんど存在せず、平均移動時間は 10 秒でした。これは、順調に流れているときの移動時間に等しく、乗数は 1 になります。
1 日の測定が完了したら、交通量プロファイルのテーブルを参照して、測定した 1 日の相対的な移動時間の変動に最もよく一致するプロファイルを 1 つ選択します。
交通量プロファイル 16(下図にプロット)を、このセグメントの月曜日の移動時間を表すプロファイルとして選択します。
プロファイルの時刻は常に現地時間、つまり参照エッジが属するタイム ゾーンを表していますしたがって、プロファイル 16 を参照するロサンゼルスのエッジでは、太平洋標準時の午前 8:00 の移動時間は、順調に流れているときの 2.6 倍になります。同じプロファイルを参照するニューヨークのエッジでは、東部標準時の午前 8:00 の移動時間が、順調に流れているときの 2.6 倍になります。タイム ゾーンについては、この後で詳しく説明します。
選択対象となる交通量プロファイルの数に制限はありません。プロファイルが多いほど、移動時間を正確にモデル化できる可能性が高まります。ただし、プロファイルが少ないほど、データの格納領域の要件を抑えることができます。正確性と格納領域の要件のバランスを取ることが重要になります。大きい道路ネットワークでは、数十から数百個の交通量プロファイルを持つのが普通です。
月曜日のプロファイルは選択しましたので、他の曜日についても同じプロセスを繰り返す必要があります。再確認のためにそのプロセスをまとめると次のとおりになります。
- 道路セグメントの順調に流れているときの移動時間を測定するか計算します(これはどの曜日でも同じなので、繰り返す必要はありません)。
- 1 日を等間隔に分けて、それぞれの平均移動時間を測定します。
- 移動時間を順調に流れているときの移動時間の乗数に変換します。
- その曜日の道路セグメントの交通量を表すプロファイルを選択します。
交通量プロファイル 16 が残りの平日についてもこのセグメントに適合することを確認します。一般的な交通量のパターンは平日ならどの曜日でも同じことが多いため、多くの場合この適合性を確認できます。それでも、曜日によって使用するプロファイルが異なるケースも珍しくはありません。たとえば、月、火、水は同じプロファイルを使用し、木と金は別のプロファイルを使用する場合などです。
このセグメントでは土曜日と日曜日は交通量が少なく、一定しているため、週末の移動時間を表す交通量プロファイル 10(下図)を選択します。
次に、順調に流れているときの移動時間と、道路セグメントと交通量プロファイルのリレーションシップを道路 - 交通量プロファイル結合テーブルに格納します。次のセクションでは、このテーブル、およびその他の必須入力について検討します。
ジオデータベースへのデータとリレーションシップの格納
履歴交通量データを持つネットワーク データセットを作成するには、ジオデータベース内に 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 日分に対応できるプロファイルがあります。TimeFactor_0000 フィールドには、午前 0:00 ~ 0:05 の順調に流れているときの乗数が入ります。TimeFactor_1140 フィールドには、午前 11:40 ~ 11:45 の乗数が入ります。道路フィーチャをこのプロファイルに関連付けると、1 日のどの時間についても予想される移動時間を取得できます。たとえば、道路をプロファイル 16(下図参照)に関連付けると、道路の順調に流れているときの移動時間にプロファイルの TimeFactor_1140 値(1.124859)を乗算して、午前 11:41 の予想される移動時間を計算できます。
パーソナル ジオデータベースでは、テーブルのフィールド数が最大 255 個に制限されています。一部の ArcSDE ジオデータベースでも、フィールド数に同様の制限があります。したがって、交通量プロファイル テーブルのフィールド数を削減するためにデータを間引くことが必要になる場合があります。たとえば、交通量プロファイル テーブルを 5 分間隔に設定し、パーソナル ジオデータベースに格納しようとすると、288 個以上のフィールドが必要になるため、これは実現不可能です。その代わりに、65,000 フィールド以上をサポートするファイル ジオデータベースを使用するか、午前 0:00 ~ 3:00 の間のように、速度が変わらない時間帯のフィールドをいくつか削除することができます。
道路 - 交通量プロファイル結合テーブル
道路 - 交通量プロファイル結合テーブルは、道路フィーチャ、その順調に流れているときの移動時間、曜日ごとの関連プロファイルを指定します。次の表は必須フィールド、フィールド名の例、可能なデータ タイプ、簡単な説明を示しています。
フィールド |
フィールド名の例 |
データ タイプ |
説明 |
---|---|---|---|
エッジ フィーチャクラス識別子 |
EdgeFCID このフィールドの名前は EdgeFCID にしなければなりません。 |
Long integer |
道路フィーチャが格納されるフィーチャクラスを指定します。 |
エッジ フィーチャ識別子 |
EdgeFID このフィールドの名前は EdgeFID にしなければなりません。 |
Long integer |
道路フィーチャを指定します。 |
エッジの方向 |
EdgeFrmPos このフィールドの名前は EdgeFrmPos にしなければなりません。 |
Double |
EdgeToPos と組み合わせて、移動の方向または道路の側を示します。ゼロは、デジタイズの方向で決まるライン フィーチャの始点を示します。1 はその反対側を示します。 たとえば、EdgeFrmPos の値が 0 で EdgeToPos の値が 1 なら、(右側通行と仮定すると)ライン フィーチャの右側を示します。同じレコードにリストされている交通量プロファイルは、道路のそちら側の交通量のみを表します。 10 進数値は、フィーチャのデジタイズ方向に沿った位置を指定します。これにより、[ネットワークのディゾルブ(Dissolve Network)] ツールは、エッジがディゾルブされた後も道路の正しいプロファイルを維持できます。 |
エッジの方向 |
EdgeToPos このフィールドの名前は EdgeToPos にしなければなりません。 |
Double |
EdgeFrmPos と組み合わせて、移動の方向または道路の側を示します。 |
基本移動時間フィールド |
FreeflowMinutes FreeflowSeconds |
float または double |
順調に流れているときの移動時間。 日、時、分、秒で表すことができます。 |
日曜日の ProfileID フィールド |
Profile_1 SundayProfile |
short または long integer |
EdgeFCID、EdgeFID、EdgeFrmPos、EdgeToPos で指定される道路の部分について、日曜日の交通量パターンを最もよく表すプロファイル ID。 |
月曜日の ProfileID フィールド |
Profile_2 MondayProfile |
short または long integer |
月曜日の交通量を最もよく表すプロファイル ID。 |
火曜日の ProfileID フィールド |
Profile_3 TuesdayProfile |
short または long integer |
火曜日の交通量を最もよく表すプロファイル ID。 |
水曜日の ProfileID フィールド |
Profile_4 WednesdayProfile |
short または long integer |
水曜日の交通量を最もよく表すプロファイル ID。 |
木曜日の ProfileID フィールド |
Profile_5 ThursdayProfile |
short または long integer |
木曜日の交通量を最もよく表すプロファイル ID。 |
金曜日の ProfileID フィールド |
Profile_6 FridayProfile |
short または long integer |
金曜日の交通量を最もよく表すプロファイル ID。 |
土曜日の ProfileID フィールド |
Profile_7 SaturdayProfile |
short または long integer |
土曜日の交通量を最もよく表すプロファイル ID。 |
道路 - 交通量プロファイル結合テーブルの例として、下の最初の図の Streets_DailyProfiles という名前のテーブルを示します。フィールド PROFILE_1 は日曜日の ProfileID フィールドを、PROFILE_7 は土曜日の ProfileID フィールドを、PROFILE_2 から PROFILE_6 まで(図にはありません)は月曜日から金曜日までの ProfileID フィールドを表します。
選択されたレコード(ObjectID 111)に注目してください。これは、各曜日のプロファイルと、オブジェクト ID が 129 の道路フィーチャの From-To 側を関連付けます。道路の From-To 方向は、EdgeFrmPos 値(0)と EdgeToPos 値(1)によって指定されます。交通量プロファイル 12 は、PROFILE_1 フィールドと PROFILE_7 フィールドの値が 12 であることから、日曜日と土曜日の道路の From-To 側を表します。FreeflowMinutes フィールドは、順調に流れているときに、From-To 方向に道路を通過するのに要する時間を示します。
最初の 2 つのレコードに注目してください。最初のレコード(Object ID 109)は、道路セグメントの From-To 方向のプロファイル ID を格納し、2 番目のレコード(Object ID 110)は、同じ道路セグメントの反対方向のプロファイル ID を格納しています。これは、EdgeFCID と EdgeFID の値が同じで、EdgeFrmPos と EdgeToPos の値が逆になっていることから推定されます。また、日曜日と土曜日のプロファイル ID がゼロである点に注目してください。これは、データが収集されておらず、これらの日についてはプロファイルが選択されていないことを意味します。そのエッジの土曜または日曜日の履歴移動時間を評価する場合、エバリュエータは、エッジ交通量エバリュエータ(後で説明します)に定義された 2 次コスト属性に戻る必要があります。
新規ネットワーク データセット ウィザードを使用した履歴交通量データの設定
履歴交通量データを取得または作成したら、そのデータを新しいネットワーク データセットに取り込む必要があります。これは、[新規ネットワーク データセット] ウィザードで行います。
- ネットワーク データセットに交通量データを設定できるのは作成プロセスの間のみであり、後で設定することはできません。
履歴交通量データを取り込むネットワーク データセットの作成プロセスは、主に次の 4 つのステップで構成されます。
- 2 つの履歴交通量テーブルを設定します:
- 交通量プロファイル テーブル
- 道路 - 交通量プロファイル結合テーブル
- 最大 4 つのネットワーク コスト属性を作成します:
- 履歴移動時間コスト属性
- 平日の代替移動時間コスト属性
- 週末の代替移動時間コスト属性
- 全時間のコスト属性
- 上記のコスト属性についてエバリュエータを設定します。
- ネットワークが複数のタイム ゾーンにまたがる場合は、タイム ゾーン属性を作成します。
以下のサブセクションで各ステップについて説明します。
履歴交通量テーブル
[新規ネットワーク データセット] ウィザードでは、以下のページのように、ネットワーク データセットで履歴交通量データを使用するかどうかを確認するメッセージが表示されます。[はい] をクリックすると、交通量プロファイル テーブルおよび道路 - 交通量プロファイル結合テーブルに関するプロパティを指定できます。
ネットワーク データセットの交通量プロファイル テーブル
次の表は、交通量プロファイル テーブルの設定の必要なプロパティを示しています。
プロパティ |
説明 |
---|---|
テーブル |
交通量プロファイルが含まれているテーブルの名前。 |
最初のタイム スライス フィールド |
このプロパティは、最後のタイム スライス フィールドとの組み合わせで、時間の範囲を指定します。この範囲外の時刻についてエッジが評価された場合、その乗数は 1 と想定されます。この想定により、交通量がほとんどない時間帯でのコストの検索が高速化されます。 |
最後のタイム スライス フィールド |
最初のタイム スライス フィールドの説明をご参照ください。 |
タイム スライスの分数 |
交通量プロファイル テーブルでは、1 日を等間隔に分割する必要があります。このプロパティは、間隔の長さを分単位で指定します。 |
最初のタイム スライスの開始時間 |
このプロパティは、最初のタイム スライス フィールドの始まりの時刻を指定します。 たとえば、最初のタイム スライス フィールドを TimeFactor_0400 に設定すると、開始時間は午前 4:00 になるため、最初のタイム スライスの開始時間は午前 4 時に設定されます。 |
最後のタイム スライスの開始時間 |
このプロパティは、最後のタイム スライス フィールドの最後の時刻を指定します。これは、タイム スライス フィールドの数とタイム スライスの分数の値から自動的に計算されます。 |
ネットワーク データセットの道路 - 交通量プロファイル結合テーブル
道路 - 交通量プロファイル結合テーブルには、次の表で説明するように、設定の必要な 10 個のプロパティがあります。
プロパティ |
説明 |
---|---|
テーブル |
道路が順調に流れているときの速度と、道路と交通量プロファイルのリレーションシップが含まれているテーブルの名前。 |
基本移動時間フィールド |
順調に流れているときの移動時間が含まれているフィールド。 |
基本移動時間単位 |
基本移動時間フィールドに指定されたフィールドの時間単位。 |
日曜日の ProfileID フィールド 月曜日の ProfileID フィールド 火曜日の ProfileID フィールド 水曜日の ProfileID フィールド 木曜日の ProfileID フィールド 金曜日の ProfileID フィールド 土曜日の ProfileID フィールド |
各曜日の交通量に対する交通量プロファイル ID が含まれているフィールドの名前。 |
ネットワーク属性
履歴交通量データの取り込みの次のステップでは、ネットワーク属性を指定します。TravelTime コスト属性は、履歴交通量テーブルを設定した後に自動的に作成されます。TravelTime は、履歴交通量テーブルを読み込んで、特定の時刻および曜日の移動時間を検出するエッジ交通量エバリュエータを持ちます。エッジが特定の曜日の履歴交通量データを持たない場合、エバリュエータは他の時間ベースのコスト属性(平日の属性と週末の属性)を使用します。
エッジ交通量エバリュエータは、時間に中立的なコスト属性も参照します。この場合の時間に中立的とは、時刻または曜日によってネットワーク属性の移動時間が変化しない、という意味です。つまりこれは、各ネットワーク エレメントが時刻や曜日にかかわりなく同じ予想移動時間を持つ、通常のネットワーク コスト属性です。エッジ交通量エバリュエータは、時間に中立的な属性を使用して以下の処理を行います。
- 履歴交通量データをサポートしないネットワーク解析レイヤを解析する(現在、履歴交通量データをサポートしているのは、ルートおよび配車ルート解析レイヤのみです)。
- 時刻と日付が提供されないときに、履歴交通量データをサポートするネットワーク解析レイヤを解析する。
- ルートまたは配車ルート解析レイヤでネットワーク ロケーションを順序付けする(ネットワーク ロケーションの順序は履歴移動時間を使用して最適化されませんが、ネットワーク ロケーション間のルートは最適化されます)。
下図の青色の四角形は、履歴交通量データ解析で使用されるネットワーク コスト属性を示しています。TravelTime は履歴交通量コスト属性です。これは、他のコスト属性を参照するエッジ交通量エバリュエータを使用します。この後で説明しますが、Minutes は TravelTime の時間に中立的な属性です。Minutes は、FT_Minutes フィールドと TF_Minutes フィールドから値を読み込むフィールド エバリュエータを使用します。Minutes と同様に WeekdayFallbackTravelTime と WeekendFallbackTravelTime も、時刻にかかわりなくエッジのサイドについて同じコスト値を戻します。ただし、WeekdayFallbackTravelTime は平日の平均移動時間を表し、WeekendFallbackTravelTime は週末の平均移動時間を表す点が異なります。この例では、フィールド エバリュエータは、WeekdayFallbackTravelTime のコストを FT_WeekdayMinutes と TF_WeekdayMinutes から読み込みます。WeekendFallbackTravelTime についても、これに類似したフィールドのペアから値が得られます。
エッジ交通量エバリュエータ
TravelTime 属性は、他のコスト属性(この例では、Minutes、WeekdayFallbackTravelTime、WeekendFallbackTravelTime)を使用するエッジ交通量エバリュエータを持ちます。エッジ交通量エバリュエータを次に示します。
エッジ交通量エバリュエータは、特定の時刻および曜日のエッジの移動時間を計算します。[エッジ交通量エバリュエータ] ダイアログ ボックスの [時間に対応した評価] セクションを見ると、エバリュエータが最初に交通量プロファイル テーブルと道路 - 交通量プロファイル結合テーブルを検索して、特定の日のセグメントの交通量を表すプロファイルを見つけようとすることが分かります。エバリュエータはプロファイルを見つけ、乗数(交通量プロファイル テーブル)と順調に流れているときの移動時間(道路 - 交通量プロファイル結合テーブル)を使用して、履歴移動時間を計算します。ただし、セグメントが特定の日のプロファイルを持たない場合、エバリュエータは平日または週末の代替属性を使用して移動時間を計算します。平日の時間を検索する場合は、平日の属性を参照することになります。
代替属性は、より正確な移動時間が得られるように平日と週末に分けられています。ただし、平日と週末で同じコスト属性を指すように選択できます。たとえば、平日および週末に特有の移動時間がない場合は、両方とも Minutes 属性を指すことができます。
時間に中立的な評価コスト属性は Minutes です。
タイム ゾーン
ネットワーク データセットが複数のタイム ゾーンにまたがる場合は、タイム ゾーン ネットワーク属性を追加しなければなりません。タイム ゾーン属性を設定していないと、Network Analyst は、すべてのエッジが 1 つのタイム ゾーン内に存在すると想定するため、間違った時刻で移動時間を評価することになります。
ネットワーク構築後のソース フィーチャの編集
交通量データに関連付けられたソース フィーチャを編集するときは、道路の交通量プロファイル テーブルも編集する必要があります。これは、このテーブルがソース フィーチャのオブジェクト ID を参照しているためです。これには、注意点がいくつかあります。
- 道路フィーチャの形状または属性を変更する場合は、オブジェクト ID が作成または削除されることはないため、再構築プロセスの後も、道路フィーチャは同じプロファイルに関連付けられたままです。
- 道路フィーチャを削除する場合は、道路の交通量プロファイル テーブルの関連レコードの関連付けがなくなります。関連レコードも削除すべきですが、これは必須ではありません。
- 既存の道路フィーチャを分割すると、フィーチャは 2 つのパートに分かれます。1 つのパートは元のフィーチャのオブジェクト ID を保持しますが、もう 1 つのパートには新しい ID が割り当てられます。古い ID の道路フィーチャは、引き続き元の道路フィーチャと同じプロファイルに関連付けられます。新しい ID のパートはいずれの交通量プロファイルにも関連付けられないため、1 つ以上のレコードを道路の交通量プロファイル テーブルに追加して、それをいずれかのプロファイルに関連付ける必要があります。
- ネットワークに追加した新しいフィーチャは、対応するレコードを道路の日別プロファイル テーブルに追加して、ネットワークを再構築するまで、関連する交通量プロファイルを持ちません。
ソース フィーチャのコピー
ジオデータベースの各フィーチャクラスはフィーチャクラス ID を持ちます。この ID は、ジオデータベース内のフィーチャクラスを一意に識別する、自動生成された整数です。あるジオデータベースから別のジオデータベースへフィーチャクラスをコピーすると、元のフィーチャクラスとコピー先のフィーチャクラスは異なるフィーチャクラス ID を持つことになります。
ソース フィーチャクラスを、道路 - 交通量プロファイル テーブルなどの関連テーブルとともにコピーし、ネットワーク データセットを作成すると、テーブル内のレコードは古いフィーチャクラス ID を参照します。そのために、期待される結果が得られないことになります。ただし、ネットワーク データセットをコピーして張り付けると、ソース フィーチャと関連テーブルが自動的に新しい場所にコピーされます。さらに、EdgeFCID などのフィーチャクラス ID を参照するテーブル内のフィールドは自動的に更新されます。
ネットワーク データセットのコピーが選択肢に入っていないときは、Python ウィンドウを使用してフィーチャクラス ID を決定し、手動でテーブルを更新できます。下記の手順は、このプロセスを説明したものです。
- フィーチャクラスを ArcMap に追加します。
- [標準] ツールバーの Python ウィンドウ ボタン をクリックします。
- 表示される Python ウィンドウで、「arcpy.Describe("[レイヤ名]").DSID」と入力します([レイヤ名] はフィーチャ レイヤの名前に置き換えます)。
たとえば、Streets という名前のレイヤのフィーチャクラス ID を得るには、「arcpy.Describe("Streets").DSID」と入力します。
- Enter キーを押します。
フィーチャクラス ID は、入力したコマンドの下に表示されます。
- 関連テーブルで、古い ID を新しい ID に置き換えます。
履歴交通量データを使用した解析の実行
ネットワーク データセットを構築して TravelTime ネットワーク属性、エッジ交通量エバリュエータ、およびタイム ゾーン属性(該当する場合)を取り込んだら、時間依存のネットワーク解析を実行できます。
ルート解析
このサブセクションでは、履歴交通量データを持つルート解析レイヤを設定するときに検討する必要のあるプロパティと解析の振舞いに注目します。これらのプロパティの詳細については、トピック「ルート解析」をご参照ください。
ネットワーク解析レイヤのプロパティ
- [インピーダンス] プロパティを [TravelTime] ネットワーク属性に設定します。
- [開始時間を使用] をオンにし、[時刻] および [曜日] または [特定の日付] 属性を、ルートを開始する時間に設定します。
- タイム ウィンドウ内のストップを訪問する場合は、[タイム ウィンドウを使用] をオンにします。
ネットワーク解析オブジェクトのプロパティ
- [タイム ウィンドウを使用] をオンにした場合は、TimeWindowStart および TimeWindowEnd プロパティでストップのタイム ウィンドウを指定します。入力した時刻値には現地のタイム ゾーン、つまりストップに関連付けられたエッジ エレメントが属するタイム ゾーンが割り当てられます。
配車ルート
このサブセクションでは、履歴交通量データを持つ配車ルート解析レイヤを設定するときに検討する必要のあるプロパティと解析の振舞いに注目します。これらのプロパティの詳細については、トピック「配車ルート解析」をご参照ください。
ネットワーク解析レイヤのプロパティ
- [時間属性] を [TravelTime] ネットワーク属性に設定します。
- [曜日] または [特定の日付] を使用して、[デフォルトの日付] を設定します。これは、ネットワーク解析オブジェクトの時刻値が参照する曜日または日付です。
ネットワーク解析オブジェクトのプロパティ
- [訪問先] と [拠点] はそれぞれ 2 つのタイム ウィンドウを持ちます。この 2 つのタイム ウィンドウは、TimeWindowStart1、TimeWindowEnd1、TimeWindowStart2、TimeWindowEnd2 で設定できます。入力した時刻値には現地のタイム ゾーン、つまりネットワーク ロケーションの基本エッジ エレメントが属するタイム ゾーンが割り当てられます。
- ルートを開始できるタイム ウィンドウは、EarliestStartTime および LatestStartTime プロパティで指定します。これらのプロパティ値のタイム ゾーンは、ルートの開始拠点が置かれたエッジから取得されます。
- [休憩] は、TimeWindowStart と TimeWindowEnd を使用して指定するタイム ウィンドウを持ちます。休憩はルートに関連付けられ、そのタイム ゾーンは、ルートの開始拠点が置かれたエッジから取得されます。