演習 10: ネットワーク データセットにライブ交通量を構成
この演習では、サンディエゴの道路フィーチャ、ターン フィーチャ、および標識フィーチャを使用して、ジオデータベースにネットワーク データセットを作成します。ネットワーク データセットには、履歴交通量データと必要に応じてライブ交通量データも含まれます。これらのデータを利用すると、さまざまな時間帯の移動速度を表示したり、時間に依存するネットワークの問題を解析したりすることができます。
この演習を実行して、ライブ交通量に対応する機能性の高いネットワーク データセットを作成するには、データ プロバイダからライブ交通量フィードにサイン アップする必要があります。サイン アップすると、データ プロバイダからユーザ名とパスワードが与えられ、交通量フィードにアクセスできるようになります。[交通量データの更新(Update Traffic Data)] ジオプロセシング ツールでユーザの認証情報を入力し、フィードからデータを読み取り、それを Network Analyst が読み取れる形式に変換します。Network Analyst では、現在、Inrix、NAVTEQ、TomTom の 3 つのデータ プロバイダがサポートされています。
この演習の最終ステップでは、交通量を ArcMap で視覚化する方法を学習します。次の演習 11 では、動的な走行速度に基づいてネットワーク解析を行う方法を説明します。
この演習と Network Analyst チュートリアルの他の演習で使用されるデータは、ArcGIS.com から入手できます。データをダウンロードしたら、任意の場所に抽出することができます。ただし、チュートリアルでデータのデフォルトの場所として参照される C:\arcgis\ArcTutor に抽出すると便利です。
この演習のチュートリアル データは、ArcGIS 10.1 Service Pack 1 で更新され、ArcGIS.com にポストされて、モデルやスクリプトが追加されています。この演習を開始する前に、ArcTutor データが最新であることを確認してください。
ライブ交通量ファイル(DTF ファイル)を保存するフォルダの作成
ライブ交通量に対応するネットワーク データセットは、データ プロバイダから交通量ファイルを連続してフィードすることによって最新の移動速度を入手することができます。この演習の後半で、ジオプロセシング ツールを使用して、交通量フィードからライブ交通量ファイルを作成します。これは DTF(動的交通量フォーマット)ファイルと呼ばれます。ただし、まずはこれらのファイルを格納するための空のフォルダを作成し、ネットワーク データセットを作成したときにそれをこのフォルダにポイントできるようにする必要があります。
- Windows エクスプローラを開きます。
- 読み取り/書き込み権限を持つ場所に TrafficFiles という名前のフォルダを作成します。たとえば、C:\Data にフォルダを作成するとします。絶対パスは C:\Data\TrafficFiles になります。
次に、ネットワーク データセットを作成し、これを TrafficFiles フォルダにポイントして、ネットワークで最新の移動速度が入手できるようにします。この時点でフォルダは空ですが、ジオプロセシング ツールを定期的に使用し、DTF ファイルを取得して最新を維持できるようにします。
ネットワーク データセットの作成
- [スタート] → [すべてのプログラム] → [ArcGIS] → [ArcCatalog 10.1] をクリックして、ArcCatalogを起動します。
-
ArcGIS Network Analyst エクステンションを有効にします。
-
[カスタマイズ] → [エクステンション] の順にクリックします。
[エクステンション] ダイアログ ボックスが開きます。
- [Network Analyst] をオンにします。
- [閉じる] をクリックします。
-
[カスタマイズ] → [エクステンション] の順にクリックします。
-
[標準] ツールバーの [フォルダに接続] ボタン をクリックします。
[フォルダに接続] ダイアログ ボックスが開きます。
-
Network Analyst チュートリアル データのあるフォルダに移動します。
チュートリアル データのデフォルトの場所は、C:\ArcGIS\ArcTutor\Network Analyst\Tutorial です。
-
[OK] をクリックします。
フォルダへのショートカットが、カタログ ツリーの [フォルダ接続] の下に追加されます。
- カタログ ツリーで、[...\ArcTutor\Network Analyst\Tutorial] → [Exercise10] → [SanDiego.gdb] の順に展開します。
-
Transportation フィーチャ データセットをクリックします。
このフィーチャ データセットに含まれているフィーチャクラスが、ArcCatalog の [コンテンツ] タブにリスト表示されます。
-
Transportation フィーチャ データセットを右クリックして、[新規作成] → [ネットワーク データセット] の順にクリックします。
[新規ネットワーク データセット] ウィザードが開きます。
- ネットワーク データセットの名前として、「SanDiego_ND」と入力します。
- [次へ] をクリックします。
- ネットワーク データセットのソースとして使用するため、Streets フィーチャクラスをオンにします。
- [次へ] をクリックします。
- [はい] をクリックして、ネットワークのターンをモデリングします。
- RestrictedTurns をオンにして、ターン フィーチャ ソースとして選択します。
-
[次へ] をクリックします。
接続性の構成に関する情報が表示されます。ここではデフォルトの設定を使用するため、設定を変更する必要はありません。
- [次へ] をクリックします。
- このデータセットにはエレベーション フィールドがあるので、[エレベーション フィールドを使用] オプションが選択されていることを確認します。道路ソースの移動元(From End)として [F_ZLEV] を選択し、移動先(To End)として [T_ZLEV] を選択します。
- [次へ] をクリックします。
- [ライブ交通量: 道路 - TMC テーブル] セクションで、[テーブル] を [Streets_TMC] に設定し、[TMC フィード] を [TMC] に設定します。
- [交通量フィードの場所] をクリックしてプロパティを選択します。
プロパティの右側に参照ボタンが表示されます。
- 参照ボタンをクリックします。
[ライブ交通量フィードの場所] ダイアログ ボックスが表示されます。ここで、3 つのオプションの中からいずれか 1 つを指定できます。現時点では交通量フィードを参照しない([なし])、フォルダに DTF ファイルを含む([フォルダ])、ジオプロセシング サービスがネットワーク データセットのライブ交通量データをフィードする、の 3 つです。
- [フォルダ] をクリックし、[参照] ボタン をクリックします。
[ライブ交通量フィードの場所のフォルダ] ダイアログ ボックスが表示されます。
- この演習の最初の 2 つのステップで作成した TrafficFiles フォルダ(たとえば、C:\Data\TrafficFiles)を参照してクリックします。(このフォルダには、UNC(Uniform Naming Convention)パスが使用できます。これは、ローカル コンピュータ ネットワークで複数のネットワーク データセットを共有しようと考えている場合に有益です。)
- [OK] をクリックします。
[ライブ交通量フィードの場所] ダイアログ ボックスに戻ります。TrafficFiles フォルダのパスが表示されます。
- [フォルダ] テキスト ボックスに表示されたフォルダ パスの末尾をクリックして、「\v1」と入力します。
絶対パスは C:\Data\TrafficFiles\v1 のようになります。
- [OK] をクリックします。
TrafficFiles フォルダは、[新規ネットワーク データセット] ウィザードの [交通量フィードの場所] プロパティに表示されます。
- [次へ] をクリックします。
現在のすべてのネットワーク属性を示すページが表示されます。
- [TravelTime] 属性をクリックして選択し、[エバリュエータ] をクリックします。
[エバリュエータ] ダイアログ ボックスが表示されます。
- [ソースの値] タブをクリックします。
- Ctrl キーを押しながら、「Streets」で始まる 2 つの行をクリックして選択します。
- 選択している行のどちらかを右クリックし、[値] → [プロパティ] の順にクリックします。
[エッジ交通量エバリュエータ] ダイアログ ボックスが表示されます。
- [平日] ドロップダウン リストをクリックして [Minutes] を選択します。
- [週末] ドロップダウン リストをクリックして [Minutes] を選択します。
- [OK] をクリックします。
[エッジ交通量エバリュエータ] ダイアログ ボックスが閉じられます。
- [属性] ドロップダウン リストから [WeekdayFallbackTravelTime] を選択し、[ソースの値] タブでプロパティを参照します。WeekendFallbackTravelTime についても、同じ手順を繰り返します。
Streets ソースのエバリュエータのセットはどちらも、同じ Minutes フィールドを読み取ります。このため、これらの 2 つのネットワーク属性を削除して、代わりにエッジ交通量エバリュエータで Minutes ネットワーク属性を使用しています。
- [OK] をクリックして [エバリュエータ] ダイアログ ボックスを閉じます。
- [新規ネットワーク データセット] ウィザードで、[WeekdayFallbackTravelTime] をクリックして [削除] をクリックします。
- [WeekendFallbackTravelTime] をクリックして [削除] をクリックします。
ウィザードのこのページでは、履歴交通量データとライブ交通量データを構成できます。ライブ交通量データを設定するには、履歴交通量データを構成する必要があります。
SanDiego ジオデータベースには、履歴交通量データを保存する次の 2 つのテーブルが含まれています。Patterns と Streets_Patterns です。
Patterns テーブルは、ネットワーク データセットのプロファイル テーブルとして機能します。各プロファイルは、移動速度の 1 日の変化を 15 分間隔で表しています。
Streets_Patterns テーブルは、道路 - プロファイル テーブルとして機能します。テーブル内のレコードは、エッジ ソース フィーチャを Patterns テーブルのプロファイルにリンクします。ソース フィーチャのデジタイズされた方向ごとに、各曜日のプロファイルを指定できます。道路ソース フィーチャを交通量プロファイルにリンクすることで、道路の走行速度の変化を 1 週間全体にわたって表すことができます。
Patterns テーブル内の移動速度は、順調に流れているときの速度との相対で表されています。したがって、順調に流れているときの速度が異なる多くのソース フィーチャで、同じプロファイルを共有できます。この設計により、格納領域の要件が最小化されます。
ライブ交通量データでは、道路 - TMC テーブルが使用されます。このテーブルにより、ソース フィーチャが標準の TMC(Traffic Message Channel)コードにリンクされ、さらに DTF(動的交通量フォーマット)ファイルに格納されたライブ走行速度に関連付けられます。DTF ファイルは、ネットワーク データセットが読み取って理解できるよう設計されたファイル形式です。[交通量データの更新(Update Traffic Data)] ツールは、データ プロバイダの交通量フィードに接続してデータを読み取り、これを動的交通量フォーマットに変換することで、DTF ファイルを作成します演習の後半でこのツールを使用して、作成した TrafficFiles フォルダに出力ファイルを格納します。
ArcGIS Network Analyst エクステンションがテーブルのスキーマを認識して、ウィザードでこのページの履歴交通量のセクションを自動的に構成します。また、ライブ交通量セクションのテーブルも構成しますが、[交通量フィードの場所] プロパティは構成しません。
交通量データを最初にダウンロードするときに、v1 という名前のフォルダが TrafficFiles フォルダに追加されます。これを表示されたフォルダ パスに追加する必要があります。
ウィザードが、指定したデータからいくつかのコスト属性を作成します。Minutes および Meters が、ソース フィーチャ データにある同じ名前の属性から自動的に作成されます。TravelTime 属性が、[新規ネットワーク データセット] ウィザードの交通量ページに入力した情報から作成されます。TravelTime 属性をサポートするために、WeekdayFallbackTravelTime および WeekendFallbackTravelTime 属性が作成されます。これらの各ネットワーク属性には、属性値を決定するエバリュエータがあります。TravelTime 属性にはエッジ交通量エバリュエータがあります。次のステップで、このエバリュエータを検証します。
評価の順序が一覧で表示されます。ライブ交通量を構成しているため、エバリュエータは、TrafficFiles フォルダで関連する DTF ファイルを探すことによって、まずライブ交通量データから移動コストを取得しようとします。この時点でこのフォルダは空のため、エバリュエータは履歴交通量に戻ります。同様に、ある時間または道路に対してライブ交通量が使用できない場合、ネットワーク データセットは、2 番目に最適なオプションである履歴交通量を使用しようとします。履歴交通量データが利用できない場合は、データを検索している曜日に応じて、[平日] または [週末] の属性に指定されているコスト属性から移動コストが取得されます。
このデータセットの場合、WeekdayFallbackTravelTime と WeekendFallbackTravelTime のエバリュエータはどちらも、Minutes コスト属性から値を取得しています。したがって、これらの 2 つの代替属性は実際には平日または週末では分類されません。これらの値が同じであることを明らかにするために、[平日] および [週末] を Minutes から直接読み取るように変更し、WeekdayFallbackTravelTime および WeekendFallbackTravelTime 属性をネットワーク データセットから削除します。
タイム ゾーン属性
Network Analyst では、ライブ交通量データの日付と時間の値をローカル タイム ゾーンの値に正しく変換するために、タイム ゾーン属性が必要です。この演習では、タイム ゾーン属性がすでに作成されています。この属性は、次の条件を満たしたときに自動的に作成されます。
ネットワーク データセットを作成しているジオデータベースには、タイム ゾーン テーブルが含まれています。タイム ゾーン テーブルは、MSTimeZone という名前のテキスト フィールドを含む単純なテーブルです。
エッジ ソース フィーチャクラスに TimeZoneID という名前の整数フィールドがあるか、タイム ゾーン テーブルに含まれるレコードが 1 つだけである。
TimeZoneID には、エッジ ソース フィーチャをタイム ゾーン テーブルに指定されたタイム ゾーンの ObjectID に関連付ける整数値が含まれているため、Network Analyst はエッジ ソースに TimeZoneID フィールドを見つけると、フィールド エバリュエータを作成します。
TimeZoneID フィールドが見つからなくても、Network Analyst はタイム ゾーン テーブルにレコードが 1 つしかないことを確認すると、そのタイム ゾーン レコードをポイントするデフォルトのエバリュエータを作成できます。これは、分析範囲全体が 1 つのタイム ゾーンに含まれる場合に有益です。
サンディエゴのネットワーク データセットは、完全に 1 つのタイム ゾーン内にあります。以下の手順では、Network Analyst がこのデータセットのタイム ゾーン ネットワーク属性をどのように構成しているかを検証します。
- [TimeZoneID] 属性を右クリックしてショートカット メニューを表示し、[関連するタイム ゾーン テーブル] をクリックします。
[TimeZones] がオンになっている、別のショートカット メニューが表示されます。TimeZones は、MSTimeZone テキスト フィールドがあるテーブルの名前です。Network Analyst はこのフィールドを認識して、自動的にタイム ゾーン ネットワーク属性をテーブルに関連付けています。
- Esc キーを 2 回押して、2 つのショートカット メニューを閉じます。
- [TimeZoneID] を選択して [エバリュエータ] をクリックします。
[エバリュエータ] ダイアログ ボックスが表示されます。Streets フィーチャクラスには TimeZoneID フィールドがないため、[ソースの値] タブにはエバリュエータが定義されていません。
- [デフォルト値] タブをクリックします。
各ソース フィーチャ タイプが行ごとに表示されます。[エッジ] 行は、すべてのエッジに 1 に評価される定数エバリュエータが割り当てられていることを示しています。これは、TimeZones テーブルにある唯一のレコードの Object ID 値に対応します。このレコードの MSTimeZone の値は「Pacific Standard Time」です。したがって、このエバリュエータは、このネットワーク データセットのすべてのエッジが太平洋標準時にマークされることを保証しています。
- [キャンセル] をクリックして [エバリュエータ] ダイアログ ボックスを閉じます。
ネットワーク データセットの構築
- [次へ] をクリックします。
- [はい] をクリックして、ルート案内を設定します。
-
[次へ] をクリックします。
確認のために、設定内容のサマリが表示されます。
- [完了] をクリックします。
Network Analyst がネットワーク データセットを作成中であることを示す進捗バーが表示されます。
-
[はい] をクリックします。
[ネットワーク データセットの構築] 進捗バーが開きます。このバーは構築プロセスが終了すると消えます。
新規ネットワーク データセットの SanDiego_ND が SanDiego ジオデータベースに追加されます。システム ジャンクション フィーチャクラスの SanDiego_ND_Junctionsn も追加されます。
ネットワークの作成が完了すると、今度はネットワークを構築するかどうかたずねられます。構築プロセスでは、ネットワーク エレメント間の接続性が判定されます。また、ネットワーク データセットの属性に値が入ります。ネットワーク解析を実行する前に、ネットワークを構築しておく必要があります。
ライブ交通量フィード
これまでに、ネットワーク データセットを作成し構築してきました。ここでは、ライブ交通量データを TrafficFiles フォルダに自動でダウンロードできるようメカニズムを構築できます。作成したネットワーク データセットは、TrafficFiles フォルダの最新の移動速度を求めるよう設定されています。以下のサブセクションで、TrafficFiles フォルダに DTF ファイルを作成するジオプロセシング モデル ツールを使用し、モデルを実行する Python スクリプトを作成してから、指定した間隔でスクリプトを実行する Windows スケジューラ タスクを作成します。これにより、ネットワーク データセットに新しいライブ交通量データが提供されます。
データ プロバイダのアカウント
データ プロバイダから交通量データをダウンロードするには、プロバイダが提供するユーザ名とパスワードが必要です。この演習で、ライブ交通量に対応する機能性の高いネットワーク データセットを作成するには、サポートされているデータ プロバイダから 1 つを選択し、アカウントを設定します。Network Analyst では、現在、Inrix、NAVTEQ、TomTom の 3 つのデータ プロバイダがサポートされています。
すべてのプロバイダが同じ地域を対象にしているわけではなく、また、多くの地域はライブ交通量の対象ではありません。ネットワーク データセットのデータ プロバイダを選択する際には、そのプロバイダがご自分の分析範囲を対象としているかどうかを確認してください。[交通量データの更新(Update Traffic Data)] ジオプロセシング ツールでサポートされている 3 つのデータ プロバイダのすべてには、サンディエゴ エリアの交通量情報があります。そのため、これらのいずれかでアカウントを設定して、この演習を実行することができます。
どの地域がプロバイダと [交通量データの更新(Update Traffic Data)] ジオプロセシング ツールでサポートされているかを知るには、[交通量データの更新(Update Traffic Data)] ツールのダイアログを開いて、[プロバイダ] パラメータの値を選択し、[地域] パラメータに表示された地域を参照します。
[交通量データの更新(Update Traffic Data)] ツールで使用できるプロバイダと地域は、ArcGIS リリースとサービス パックとでは異なります。最新のリリースを取得し、必要に応じて最新のサービス パックを取得して、サポートされる地域が正しく表示され機能するようにすることが重要です。
モデル ツール
交通量フィードへのアクセスに必要な認証情報を受け取ると、次に、[交通量データの更新(Update Traffic Data)] を実行するジオプロセシング モデル ツールを開き、以下の情報を入力します。
- データ プロバイダ
- ユーザ名とパスワード
- サンディエゴの交通量データをフィードするデータ プロバイダの地域
モデルで [交通量データの更新(Update Traffic Data)] ツールを実行するのではなく、次のセクションで説明する Python スクリプトを変更することで、[交通量データの更新(Update Traffic Data)] ツールを直接実行することもできます。ただし、ユーザ名とパスワードがスクリプトに表示されます。モデルと [交通量データの更新(Update Traffic Data)] ツールのダイアログ ボックスを使用してこの情報を入力する場合、ユーザ名とパスワードは暗号化されます。
- カタログ ツリーで、[...\ArcTutor\Network Analyst\Tutorial] → [Exercise10] → [TrafficTools.tbx] の順に展開します。
- [Download Traffic Data(交通量データのダウンロード)] ジオプロセシング モデルを右クリックし、[編集] を選択します。
ModelBuilder の [Download Traffic Data(交通量データのダウンロード)] ツールが開きます。
- [交通量データの更新(Update Traffic Data)] をダブルクリックします。
[交通量データの更新(Update Traffic Data)] ツールのダイアログが表示されます。
- [ヘルプを表示] をクリックすると、サイド パネルにパラメータ用の文書が表示されます。
- ツールのダイアログ ボックスに入力します。以下の手順とサイド パネルのヘルプに従います。
- [プロバイダ] で、データ プロバイダを選択し、データ アクセスの認証情報を取得します。
- [ユーザ名] に、データ プロバイダで設定したユーザ名を指定します。
- [パスワード] に、データ プロバイダで設定したパスワードを指定します。
- [地域] で、カリフォルニアのサンディエゴを対象とする地域を選択します。
- [交通量データの出力フォルダ] に、この演習の最初のセクションで作成した TrafficFiles フォルダのパスを指定します。たとえば、「C:\Data\TrafficFiles」などです。
- [想定する更新間隔(分)] に、新しい交通量ファイルをダウンロードする時間間隔を指定します。
つまり、走行速度を更新する頻度を指定します。このプロパティの一般的な値は、5 分、10 分、15 分です。プロバイダからデータを更新する間隔よりも短い間隔を設定しないようにしてください。このように設定すると、同じデータを複数回ダウンロードすることになります。
ヒント:[想定する更新間隔(分)] の値はメモしておいてください。この値は、Windows タスク スケジューラでタスクを作成する際に必要です。
- [ファイルの最大保存期間(分)] に、交通量ファイルが自動的に削除される時間間隔を指定します。デフォルトでは、ファイルは 12 時間(720 分)保存されます。
ある時間におけるライブ走行速度の記録を保存したい場合があるかもしれません。この場合、ファイルは必要な時間保存することができますが、これによりディスク スペースが占有されるため、占有率が時間経過とともに増えたり、大きな地域の場合は一気に増えたりする可能性があります。
- [OK] をクリックします。
ツールのダイアログを閉じると、モデルが更新されます。この時点で、入力、ツール、および出力パラメータに色の塗りつぶしがあります。
- [保存] ボタン をクリックして、[Download Traffic Data(交通量データのダウンロード)] ModelBuilder ウィンドウを閉じます。
Python スクリプト
このセクションでは、Python スクリプトを実行して、前のセクションで構成したジオプロセシング モデルを呼び出します。スクリプトの名前は DownloadTraffic.py です。
Python スクリプトを実行してもジオプロセシング モデルを実行しても、結果は同じです。[交通量データの更新(Update Traffic Data)] が実行され、DTF ファイルが TrafficFiles フォルダに作成されます。Python スクリプトが必要な理由は、次のセクションで、Windows タスク スケジューラを使用して定期的に交通量データをダウンロードするためです。モデル ツールは、ArcGIS Desktop 環境内で実行する必要があるため、Windows タスク スケジューラはジオプロセシング モデルを直接実行できませんが、*.py(Python)ファイルはオペレーティング システムから直接実行できるため、タスク スケジューラは *.py(Python)ファイルを実行することができます。
コマンド プロンプトからスクリプトを実行して、発生したエラー メッセージが報告されるようにします。
- [スタート] → [すべてのプログラム] → [アクセサリ] → [コマンド プロンプト] の順にクリックします。
- 以下の手順に従って、[コマンド プロンプト] ウィンドウで、DownloadTraffic.py ファイルを含むフォルダを開きます。デフォルトのファイル パスは、C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10 です。ヒント:
Windows XP 以外を使用している場合は、以下の手順は省略できます。この場合、Windows エクスプローラを使用してフォルダに移動し、Shift キーを押しながらフォルダを右クリックし、[コマンド ウィンドウをここで開く] を選択します。
- DownloadTraffic.py のコピー先のドライブ名とコロンを入力して、Enter キーを押します。
たとえば、ファイルが C ドライブのフォルダにある場合は、「C:」と入力します。
- 「cd」の後にスペースを入力し、続けて DownloadTraffic.py ファイルを含むフォルダのパスを入力して、Enter キーを押します。
例: cd C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10
- DownloadTraffic.py のコピー先のドライブ名とコロンを入力して、Enter キーを押します。
- ファイル名「DownloadTraffic.py」を入力し、Enter キーを押して、スクリプトを実行します。注意:
スクリプトが実行されず、Python インタープリタが開いた場合、python.exe ファイルのパス、スペース、スクリプト名を続けて入力する必要があります。Python が C:\Python27\ArcGIS10.1 にインストールされている場合は、「C:\Python27\ArcGIS10.1\python.exe DownloadTraffic.py」と入力します。この形式では、最初にファイルを実行するプログラムを示し、次にファイル名を示します。
Windows スケジューラ タスク
Windows タスク スケジューラのタスクを設定して、Python スクリプトを実行し、5 分ごとに最新のライブ交通量データをダウンロードできるようにします。
- [スタート] をクリックし、Windows の検索ボックスに「[タスク スケジューラ」と入力し、Enter キーを押して、Windows タスク スケジューラを開きます。
- [タスク スケジューラ ライブラリ] をクリックします。
- [操作] ウィンドウで [基本タスクの作成] をクリックします。
[基本タスクの作成ウィザード] が開きます。
- 名前を入力し、必要に応じてタスクの説明を入力します。たとえば、名前に「DownloadTraffic」、説明に「定期的に交通量をダウンロードして ArcGIS ネットワーク データセットをサポートする」と入力します。
- [次へ] をクリックします。
[タスク トリガー] ページが表示されます。
- [いつタスクを開始しますか?] で [1 回限り] をクリックします。
分間隔(5 分など)でタスクを実行するのが目的ですが、ここにはこのようなオプションはありません。まず [1 回限り] を選択して、後で、希望する分間隔でタスクを実行するようタスク プロパティを変更することができます。
- [次へ] をクリックします。
[1 回] ページが表示されます。
- 交通量データのダウンロードを開始する日付と時刻を指定します。多くの場合、現在時刻が適しています。
- [次へ] をクリックします。
[操作] ページが表示されます。
- [タスクでどの操作を実行しますか?] で [プログラムの開始] をクリックします。
- [次へ] をクリックします。
[プログラムの開始] ページが表示されます。
- [プログラム/スクリプト] テキスト ボックスの横にある [参照] をクリックし、Python インタープリタ実行可能ファイル(python.exe)を選択します。このファイルは、以前に、コマンド ラインを使用してスクリプトを実行した際に参照されたものです。多くの場合、C:\Python27\ArcGIS10.1\python.exe にあります。
- [引数の追加] テキスト ボックスに DownloadTraffic.py ファイルの完全なフォルダ パスを入力し、引用符(")でパスを囲みます。
例: "C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10\DownloadTraffic.py"
- [次へ] をクリックします。
[概要] ページが表示されます。
- [[完了] をクリックしたときに、このタスクの [プロパティ] ダイアログを開く] をオンにします。
- [完了] をクリックします。
ダイアログ ボックスにタスクのプロパティが表示されます。
- [トリガー] タブをクリックします。
- [1 回限り] トリガをクリックし、[編集] をクリックします。
[トリガーの編集] ダイアログ ボックスが表示されます。
- [詳細設定] フレームで、[繰り返し間隔] をオンにし、DownloadTrafficData モデル ツールで [想定する更新間隔(分)] パラメータに設定したのと同じ値をドロップダウン リストから選択します。このプロパティの一般的な値は 5 分ですが、10 分や 15 分もよく使用されます。
- [継続時間] ドロップダウン リストから [無期限] を選択します。必要に応じて、別の継続時間を選択して、所定の時間が過ぎた後にタスクを停止させるようにすることもできます。
- [OK] をクリックします。
[トリガーの編集] ダイアログ ボックスが閉じます。
- 行ったプロパティ設定は、ほとんどのユーザに対して正しく機能しますが、ダイアログ ボックスで使用できる残りのプロパティを参照して、これらがタスクの実行を妨げることがないかを確認する必要があります。たとえば、コンセントに接続していないラップトップで作業している場合、[条件] タブをクリックし、[コンピュータを AC 電源で使用している場合のみタスクを開始する] をオフにする必要があります。
- [OK] をクリックします。
タスク プロパティ ダイアログ ボックスが閉じます。
- 交通量フィードが正しく設定されているかどうかを確認するテストとして、何回かタスクが実行されるのを待ってから、DownloadTrafficData ツールの [交通量データの出力フォルダ] パラメータで指定したフォルダの場所に新しい交通量ファイルがあることを確認します。以前にシステムが指定したフォルダの場所を使用している場合、交通量ファイルは C:\Data\TrafficFiles\v1 にあり、そのファイル接尾辞は *.dtf です。
- タスク スケジューラを閉じます。
黒いウィンドウが表示され、DownloadTraffic スクリプトが実行されているときはいつも開いています。スクリプトの完了時に指定した出力交通量データ フォルダに、新しい交通量ファイルが作成されます。スクリプトが再び実行され、[交通量データの更新(Update Traffic Data)] ツールの [ファイルの最大保存期間(分)] パラメータで指定した時間を超えて、交通量ファイルが出力フォルダにあったことを確認するまで、交通量ファイルはそこに残ります。交通量ファイルの保存時間が最大値を超えると、そのファイルは削除されます。
タスク スケジューラでの DownloadTraffic タスクの無効化と再有効化
この演習を中断する場合に、タスクとスクリプトが実行されないようにしたい場合があるかもしれません。このセクションの手順を参考にしてください。ただし、この演習の残りと演習 11 を続けて行う場合には、この手順は実行しないでください。
- [スタート] をクリックし、Windows の検索ボックスに「[タスク スケジューラ」と入力し、Enter キーを押して、Windows タスク スケジューラを開きます。
- [タスク スケジューラ ライブラリ] をクリックします。
- タスク リストで [DownloadTraffic] タスクを見つけます。これを右クリックし、[無効] を選択します。
ネットワーク データセットを作成して構築した後、ジオプロセシング モデルを設定し、ライブ交通量データをダウンロードして、ユーザ名とパスワードを非表示にしました。Python ファイルを使用してモデルを実行し、オペレーティング システムから、すなわち Windows タスク スケジューラから直接実行できるようにしました。最後に、タスク スケジューラでタスクを作成して、スクリプトを定期的に実行できるようにしました。結果として、ネットワーク データセットがアクセスできる新しい交通量データ(DTF ファイル)が継続的に提供されるようになりました。
交通量データの視覚化
サンディエゴ ネットワーク データセットは、マップにライブ交通量状況を表示できる状態になっています。
- [ArcMap] ボタン をクリックします。
- [ArcMap - はじめに] ダイアログ ボックスが表示された場合は、[キャンセル] をクリックします。
- [データの追加] ボタン をクリックします。
- 作成および構築した SanDiego_ND ネットワーク データセットを参照します。
- [SanDiego_ND] をクリックして選択し、[追加] をクリックします。
[ネットワーク レイヤの追加] ダイアログ ボックスが開きます。
- [いいえ] をクリックして、ネットワーク データセットだけを追加します。
ネットワーク データセット レイヤがコンテンツ ウィンドウとマップ表示に追加されます。現在の移動速度がマップに描画されます。緑色は順調に流れている移動速度を表します。黄、オレンジ、および赤色は、各道路の順調に流れているときの速度と比較して、走行速度が低下していることを表しています(赤色になるほど低速です)。交通量は絶対的な速度ではなく、順調に流れているときの速度を基準に描画されるため、現在の移動速度と順調に流れているときの速度が毎時 25 マイルの住宅街の道路は緑色のラインで表示されますが、主要幹線道路では現在の移動速度が毎時 25 マイルでも、順調に流れているときの速度がより高速(たとえば、毎時 65 マイル)である場合には赤色で表示されます。
デフォルトでは、ArcMap は交通状況を現在の日付と時間で描画します。したがって、ライブ交通量を使用するエッジでは、現時点での交通状況が表示されています。ライブ データではなく履歴交通量データを使用するエッジでは、同じ曜日および同じ時刻の傾向を示す交通状況が表示されます(サンディエゴの深夜または早朝の場合、マップ内のすべての交通量が緑色で表示されます)。
詳細:Network Analyst は、オペレーティング システムの時計とタイム ゾーンの設定が正しいとみなします。オペレーティング システムのタイム ゾーンとネットワーク データセットのタイム ゾーンが一致していない場合(つまり、タイム ゾーンが太平洋標準時以外である場合)、必要なタイム ゾーンの変換が自動的に行われます。TimeZoneID ネットワーク属性がこのシームレスな変換を可能にしています。これにより、サンディエゴだけでなくネットワーク データセットでカバーされる世界中のどの地域についても、現在の交通状況を表示できます。
以下のステップで説明するようにレイヤ プロパティを変更することで、履歴交通量データにフィルタを適用し、現在ライブ交通量データが関連付けられているエッジだけを表示することもできます。
- コンテンツ ウィンドウで [SanDiego_ND] レイヤを右クリックし、[プロパティ] を選択します。
- [シンボル] タブをクリックします。
- [ライブ交通量のみを表示] をオンにして [OK] をクリックします。
履歴データからレンダリングされた交通量はマップから除外され、ライブ交通量データを使用するエッジだけが残ります。
- 履歴交通量データとライブ交通量データの両方を表示するには、上の 3 つのステップをもう一度繰り返します。
- [ツール] ツールバーで [タイム スライダ] ボタン をクリックします。
[タイム スライダ] ダイアログ ボックスが表示されます。
- スライダは現在有効になっています。[マップ上の時間を有効/無効にする] ボタン をポイントし、それが[マップ上の時間を有効にする] と書かれている場合、ボタンをクリックします。
- タイム スライダ バーをクリックして、交通量を表示する日時にドラッグします。または、タイム スライダのテキスト ボックスに日時の情報を入力して Enter キーを押します。
指定した日時が現在の時間範囲から外れている場合は、以下の手順で説明するように時間範囲を変更する必要があります。
- [タイム スライダ] ウィンドウで [オプション] ボタン をクリックします。
- [時間範囲] タブをクリックします。
- [全時間範囲の制限] ドロップダウン リストから [<未定義>] を選択します。
- [開始時間] または [終了時間] の値を、目的の日時が範囲内に含まれるように変更します。
- [OK] をクリックします。
- タイム スライダを目的の日時に設定します。
交通量パターンは、一般的に現地時間に従って変化します。オペレーティング システムの設定と異なるタイム ゾーンで交通量データを表示している場合は、表示中のマップ エリアのタイム ゾーンに合わせて、タイム スライダのタイム ゾーン参照を設定することもできます。これにより、タイム スライダを調整するたびに、あらかじめ自分で時間を換算しておく必要がなくなります。
タイム スライダのタイム ゾーン設定を変更するには、以下のサブステップに従います。
- [タイム スライダ] ウィンドウで [オプション] ボタン をクリックします。
- [時間表示] タブをクリックします。
- [タイム ゾーン] ドロップダウン リストから、表示しているエリアのタイム ゾーンを選択します。
- 対象のエリアでサマータイムが使用されていない場合以外は、[サマータイムを適用] をクリックします。
- [OK] をクリックします。
以下に示すようにタイム スライダを使用すると、別の日時の移動速度を表示できます。
これで、マップ上でライブ交通量状況を視覚化できました。この状況を使用してネットワーク解析を行ったり、この時点での最短運転ルートや到達圏を見つけたりできます。演習 11 では、その実行方法を示します。