ビッグ データ解析の設計

このレッスンのステップでは、ArcGIS Velocity を使用してビッグ データ解析を作成する方法について説明します。 例では、運輸計画担当者として、自転車運転者が巻き込まれた数年間分の自動車事故について詳しい情報を得ます。 得られた知見を基に、自転車レーンやレーン バリアなどの自転車に優しい新規インフラストラクチャをどこに建設すれば自転車運転者の安全性に最大の効果があるかを見極めます。

手順に沿って、ビッグ データ解析およびそのデータ ソースの構成、ツールの構成、および Web マップで表示可能な解析結果が含まれている出力フィーチャ レイヤーの生成を行います。

このレッスンは初心者向けに設計されています。 Velocity にアクセス可能な ArcGIS Online のアカウントが必要です。 このレッスンの所要時間の目安は 30 分です。

ビッグ データ解析の作成

作業を開始するには、次の操作を実行します。

  1. ArcGIS Velocity を Web ブラウザーで開いて、Velocity のライセンスを受けているArcGIS Online アカウントでサイン インします。

    Google Chrome または Mozilla Firefox を使用することをお勧めします。

    注意:

    サイン インで問題が発生した場合は、ArcGIS 組織の管理者にお問い合わせください。 ArcGIS Velocity を使用する権限がある ArcGIS Online ロールの割り当てが必要な場合があります。

    役割の作成とユーザー割り当ての詳細

    [ホーム] ページが表示されます。

  2. [解析] の下の [ビッグ データ] タブをクリックして [ビッグ データ解析] ページにアクセスします。
    ヒント:

    [ホーム] ページの [はじめに] セクションには、[ビッグ データ解析] の下に [ビッグ データ解析の作成] ショートカット ボタンがあります。

    [ビッグ データ解析] ページで、既存のビッグ データ解析に対して次のアクションを実行できます。

    • 確認
    • 作成
    • 開始
    • 停止
    • ステータスを確認
    • 編集
    • クローン
    • Delete キー
  3. [ビッグ データ解析の作成] をクリックします。

    構成ウィザードが開き、データ ソース タイプのオプションが表示されます。

Velocity にサインインし、構成ウィザードでビッグ データ解析を作成するプロセスを開始しました。 次のステップはそのデータ ソースを構成することです。

データ ソースの構成

このレッスンで使用されているデータは New York City (NYC) OpenData サイトからダウンロードできます。 150 万件以上のレコードが含まれている完全なデータセットがこのサイトから CSV 形式でダウンロードされました。 このレッスン用に、この CSV ファイルがパブリック Amazon S3 バケットでホストされており、接続情報は以下の各ステップで示しています。

ビッグ データ解析にはデータ ソースが必要です。 データ ソースを構成するには、以下の手順を実行します。

  1. [データ ソースのタイプの選択] ステップで、[クラウド] カテゴリの [すべて表示] をクリックします。
    クラウド データ ソースのタイプ
    注意:

    すべてのビッグ データ解析に少なくとも 1 つの入力データ ソースが必要です。

  2. [クラウド オプション] で、[Amazon S3] を選択します。
    クラウド データ ソースのオプション

    Azure Blob StoreAzure Cosmos DB、またはAmazon S3の詳細。

  3. [Amazon S3 の構成] ダイアログ ボックスの [Amazon S3 バケットの構成] ステップで、パラメーターを次のように設定します。
    1. [アクセス モード][パブリック] を選択します。
    2. [バケット名] に「arcgis-velocity-public」と入力します。
    3. [地域] で、[米国西部 (オレゴン)] を選択します。
    4. [フォルダー パス (オプション)] に「/nyc-motor-vehicle-collisions」と入力します。
    5. [データセット] に「NYPD_Motor_Vehicle_Collisions.csv」と入力します。
    構成ウィザードの Amazon S3 データ ソース ステップ
  4. [次へ] をクリックして、Amazon S3 バケット パラメーターを適用します。

    データ ソースは、サンプリングされたイベント データを整合チェックして確認用に返します。 次のステップはデータ スキーマを確認することです。

データ スキーマの確認

Amazon S3 バケット パラメーターを設定した後は、データ スキーマを確認できます。 データ ソースを構成する際には、読み込むデータのスキーマを定義することが重要です。 Velocity は、ソース データをサンプリングする際に、[データ形式][フィールド区切り文字][フィールド タイプ][フィールド名] などのスキーマを定義します。

  1. [スキーマの確認] ステップで、データのスキーマが下図と同様であることを確認して確定します。
    データ ソースのスキーマを確認

    Velocity はデータ ソースへの接続をテストし、最初のいくつかのデータ レコードをサンプリングし、サンプリングされたレコードに基づいてデータのスキーマを解釈しています。 有効なスキーマとなるように、[データ形式][フィールド区切り文字][フィールド タイプ]、および [フィールド名] 値を必要に応じて変更できます。 このレッスンの目的では、スキーマのデフォルト パラメーターをそのまま使用します。

  2. [次へ] をクリックしてサンプリングされたスキーマを確認します。

構成ウィザードは次のステップに進みます。

キー フィールドの識別

このステップでは、[位置][日付と時刻]、および [トラッキング] パラメーターの値を選択することによって、Velocity が空間および時間の機能用のフィールドを指定し、ジオメトリ、日付情報、およびデータの一意の識別子を適切に構築できるようにします。

キー フィールドを識別するには、次の手順を実行します。

  1. [位置情報の種類] で、[X/Y フィールド] を選択します。
  2. [X (経度)] で、[経度] を選択します。
  3. [Y (緯度)] で、[緯度] を選択します。
  4. [高度 (Z)] で、[なし] を選択します。
  5. [空間参照] は、デフォルトの [GCS WGS 1984] 値をそのままにします。
  6. [データに日付フィールドがありますか?] で、[いいえ] を選択します。

    このパラメーターを使用して、データ ソース内の開始/終了の日付または日時フィールドを設定できます。 受信データの日付情報が文字列形式である場合、日付形式を指定する必要があります。 このレッスンでは、日付や時刻の情報は指定されていません。

    日時パラメーターの詳細

  7. [Track ID] で、[データに Track ID がありません] を選択します。

    このパラメーターを使用して、データ ソース内の Track ID フィールドを指定できます。 このレッスンでは、Track ID を定義しません。

    データ ソース内のキー フィールドの識別
  8. [完了] をクリックして新しいデータ ソースを作成します。

新しい [Amazon S3] データ ソースが解析エディターに追加されます。

ビッグ データ解析の作成

解析エディターに追加されたばかりのデータ ソースを使用して、ビッグ データ解析を作成できます。

  1. [新しいビッグ データ解析] ページで、[解析の作成] をクリックします。

    [解析の作成] ダイアログ ボックスが表示されます。

  2. [タイトル] に、「NYC Cyclist Accidents」と入力します。
  3. [サマリー] に「Process motor vehicle accidents to identify and analyze those involving cyclists」と入力します。
  4. [フォルダー] で、ビッグ データ解析を作成するフォルダーを選択します。
    解析の作成ダイアログ ボックス
  5. [解析の作成] をクリックして解析を作成します。

解析エディターが再表示され、ツールバーに追加のオプションが表示されます。

解析へのツールの追加

新しい解析を作成した後は、ニューヨーク市における自転車事故データに関するビッグ データ解析を実行するツールをこの解析に追加できます。 Velocity を使用して解析パイプラインを構成できます。

最初に、フィールド演算ツールを追加して TotalCyclistCasualties フィールドを追加します。このフィールドには、データ ソースの各レコードの NUMBER_CYCLIST_INJURED フィールドと NUMBER_CYCLIST_KILLED フィールドの値の合計を格納します。

以下のステップを実行して、自転車運転者が負傷した自動車事故について詳しい情報を得るための順次ツールを構成します。

  1. [ノードの追加] メニューで [データの管理] をクリックし、[フィールド演算] ツールを選択します。
    データの管理フォルダーのフィールド演算ツール

    [フィールド演算] ツールが、解析エディターに追加されます。

  2. [Amazon S3] データ ソースを [フィード演算] ツールに接続します。
    フィード演算ツールに接続された Amazon S3 データ ソース

    必要に応じて、解析エディターでツールとデータ ソースの位置を変更して、接続を容易にします。 接続すると、[フィールド演算] ツールは使用するデータ ソースを認識できるようになります。

  3. [フィールド演算] ツールをダブルクリックしてプロパティにアクセスします。
  4. [フィールド演算の追加] をクリックして、[新しいフィールド] を選択します。
  5. [フィールド] に「TotalCyclistCasualties」と入力します。
  6. [タイプ] ドロップダウン矢印をクリックして、[Int64] を選択します。

    この指定により、フィールド タイプは 64 ビット整数フィールドになります。

  7. [Arcade 条件式の構成] をクリックして、[Arcade 条件式の構成] ダイアログ ボックスを開きます。
    1. Arcade 式ビルダーを使用し、$feature.NUMBER_CYCLIST_INJURED+$feature.NUMBER_CYCLIST_KILLED と入力します。
    2. [実行] をクリックして Arcade 式を実行します。

      結果は以下の図のようになります。

      Arcade 条件式ダイアログ ボックスの構成
    3. [OK] をクリックして式を保存します。
    4. [フィールド演算の追加] をクリックして、新しいフィールド演算を [フィールド演算] ツールに追加します。
      ヒント:

      必要なフィールド演算を追加できます。 このレッスンでは 1 つのフィールド演算のみを使用します。

      Arcade 式を使用したフィールド演算ツールの構成
    5. [適用] をクリックして、[フィールド演算] ツールのプロパティを演算に適用します。

    [フィールド演算] ツールが設定され、[Amazon S3] データ ソースに接続されます。 次に、ニューヨーク市の自動車事故データにフィルターを適用して、自転車運転者が負傷または死亡し、有効な位置座標がある事故を特定できます。

  8. 解析エディターで [保存] をクリックし、ビッグ データ解析の構成を保存します。
  9. [ノードの追加] メニューで [データの管理] をクリックし、[式によるフィルター処理] ツールを選択します。

    式によるフィルター処理ツールが解析エディターに追加されます。

  10. [式によるフィルター処理] ツールを [フィールド演算] ツールの後ろにドラッグしてドロップし、2 つのノードを接続します。
    モデルに追加された式によるフィルター処理ツール
  11. [式によるフィルター処理] ツールをダブルクリックしてそのプロパティを開き、次のように構成します。
    1. [Arcade 条件式の構成] をクリックして、[Arcade 条件式の構成] ダイアログ ボックスを開きます。
    2. Arcade 式の設定機能を使用するか「$feature.TotalCyclistCasualties>0&$feature.LATITUDE>0」と入力します。

      このデータセットには、座標が無効なレコードがあります。 緯度の値が 0 以下であるレコードをフィルターで除外すると、このようなレコードを無視できます。

    3. [実行] をクリックして Arcade 式を実行します。

      結果は以下の図のようになります。

      式を使用した Arcade 条件式ダイアログ ボックスの構成
    4. [OK] をクリックして [式によるフィルター処理] ツールのプロパティに戻ります。
    5. [適用] をクリックして式を適用します。

      フィルターが追加されます。 次に、自転車運転者が負傷または死亡した事故の件数を規則的な六角形のビンとして表すため、ポイントを空間的に集約する [ポイントの集約] ツールを追加します。

  12. [ノードの追加] メニューで [データの集約] をクリックして、[ポイントの集約] ツールを選択します。

    [ポイントの集約] ツールが解析エディターに追加されます。

  13. 解析エディターで [保存] をクリックし、更新されたビッグ データ解析の構成を保存します。
  14. [ポイントの集約] ツールを [式によるフィルター処理] ツールの後ろにドラッグし、2 つのノードを接続します。
    モデルに追加された式によるフィルター処理ツール
  15. [ポイントの集約] ツールをダブルクリックしてそのプロパティを開き、次のように構成します。
    1. [ポイントの集約] で、[ビン] を選択します。
    2. [ビン タイプ] で、[六角形] を選択します。
    3. [ビン サイズ] に「250」と入力し、測定単位は [メートル] のままにします。
    4. [時間ステップ] セクションをそのままにし、[サマリー フィールド] セクションで [サマリー フィールドの追加] をクリックします。

      [プロパティ] ウィンドウが表示されます。

    5. [属性] で、[TotalCyclistCasualties] を選択します。
    6. [統計情報][合計] を選択します。
    7. [出力フィールド名] は、デフォルトの [TotalCyclistCasualties_Sum] のままにします。
    8. [サマリー フィールドの追加] をクリックして集計フィールドを追加します。
      ポイントの集約ツール プロパティ ウィンドウ
    9. [適用] をクリックしてツール プロパティを適用します。

事故データを処理する 3 つの解析ツールが正常に追加されました。 次に、出力を追加します。

解析に出力を追加します。

データ ソースと解析ツールが作成されたので、このレッスンの最後のステップとして、処理されたイベント データを、Web マップで視覚化できるフィーチャ レイヤーに送信する出力を追加します。

出力を追加するには、次の手順に従います。

  1. [ノードの追加] メニューで [出力] をクリックし、[フィーチャ レイヤー (新規)] を選択します。

    [フィーチャ レイヤーの構成 (新規)] ダイアログ ボックスが表示されます。

  2. [フィーチャ レイヤーの構成] ステップで、プロパティを次のように構成します。
    1. [時空間フィーチャ レイヤーにデータを保存] オプションをオンにします。
    2. [データ格納法] で、[すべての新しいフィーチャの追加] を選択します。

      トラッキング ID が定義されているデータ ソースを使用している場合は、格納法として [各トラッキング ID 値に対し、最新のフィーチャのみを保持します] を使用します。 この格納法では、特定の Track ID の新しいフィーチャが受信されるたびに、その Track ID に関連付けられている、格納されているフィーチャが新しいフィーチャに置き換えられます。

    3. [解析の実行ごと] で、[既存のフィーチャおよびスキーマを置換] を選択します。
      新しいフィーチャ レイヤー出力のプロパティ

      [既存のフィーチャおよびスキーマを置換] を選択する場合、ビッグ データ解析が実行されるたびに、出力フィーチャ レイヤー内のフィーチャとスキーマが上書きされます。 これは、ビッグ データ解析の作成中、解析の実行と実行の間にツールを追加、削除、または変更する場合に便利です。 ビッグ データ解析を実行するたびにレコードを追加する場合は、[既存のフィーチャおよびスキーマを保持] オプションが便利です。

  3. [次へ] をクリックします。
  4. [保存] ステップで、[フィーチャ レイヤー名] に「Cyclist_Accident_Aggregation」と入力します。
  5. [フィーチャ レイヤーのサマリー] に「NYC cyclist accident aggregated feature layer」と入力します。
  6. [フォルダー] で、フィーチャ レイヤーを保存するフォルダーを選択します。
    新しいフィーチャ レイヤー出力を保存
  7. [完了] をクリックして、新しい出力を保存します。

    新しい [Cyclist_Accident_Aggregation] 出力が解析エディターに追加されます。

  8. [Cyclist_Accident_Aggregation] 出力を [ポイントの集約] ツールの後ろにドラッグし、2 つのノードを接続します。
    ヒント:

    ノードを移動して、モデルの外観を見やすく整えます。

    構成が完了した最終的なビッグ データ解析
  9. [保存] をクリックして [NYC Cyclist Accidents] ビッグ データ解析を保存します。

ビッグ データ解析を開始

必要なノードが追加されたビッグ データ解析が正常に構成されたので、解析を開始できます。 この解析は、定義されているスキーマを使用して CSV ファイルから 150 万件余りのレコードを読み込んで、各種ツールを介してイベント データを処理し、解析出力を新しいフィーチャ レイヤーに書き込みます。

次の手順を実行して解析を一度実行します。

  1. 解析エディターで [開始] をクリックして [NYC Cyclist Accidents] ビッグ データ解析を開始します。
    ビッグ データ解析を開始

    [開始] ボタンが [初期化の停止] ボタンに変わってから [停止] ボタンに変わり、解析が開始して実行中であることがわかります。

    注意:

    Velocityフィードリアルタイム解析は、いったん開始されると実行し続けます。 一方ビッグ データ解析では、解析は完了するまで続けられ、完了すると自動的に停止します。 解析エディターの [スケジュール] ドロップダウン メニューで表示されるオプションを使用して、ビッグ データ解析を繰り返し実行するように構成できます。 オプションにより、解析を 1 回、定期的に、または繰り返し実行することができます。

    繰り返し実行するビッグ データ解析のスケジュール設定の詳細

  2. [停止] ボタンが [開始] に戻るまで解析を監視します。

    これはその解析が 1 回実行されて完了し、現在は実行されていないことを示しています。 [ビッグ データ解析] ページから、ビッグ データ解析のステータスを監視することもできます。

Web マップでの解析結果の確認

前のセクションでビッグ データ解析を開始したときに、出力フィーチャ レイヤーが作成されました。 その出力フィーチャ レイヤーを Web マップで開き、ニューヨーク市の自転車事故データに関するビッグ データ解析の結果を確認します。

  1. メイン メニューで、[出力] の下の [レイヤー] タブをクリックして [レイヤー] ページを開きます。
  2. リストで [Cyclist_Accident_Aggregation] フィーチャ レイヤーを見つけて、[Map Viewer で開く] アイコンをクリックしてこのフィーチャ レイヤーを Web マップで確認します。
    マップ ビューアーでフィーチャ レイヤーを開く
    注意:

    リアルタイム解析およびビッグ データ解析によって作成された出力レイヤーは、解析が実行されて出力が生成されるまでは [レイヤー] ページに表示されません。

  3. Map Viewer Classic の上部にある [Map Viewer で開く] をクリックして、[Cyclist_Accident_Aggregation] フィーチャ レイヤーを Map Viewer で表示します。 Map Viewer で開く
  4. 米国ニューヨーク市のデータにズームインします。
  5. [コンテンツ] (ダーク) ツールバーで、[ベースマップ] をクリックし、ベースマップを [キャンバス (ダーク グレー)] に変更します。
  6. [Cyclist_Accident_Aggregation] フィーチャ レイヤーで、[スタイル] をクリックします。
  7. [属性の選択] で、ドロップダウン メニューから [カウント] を選択し、[追加] をクリックします。
  8. [スタイルの選択][数と量 (色)] を選択し、必要に応じて [スタイル オプション] をクリックします。
  9. [スタイル オプション] で、[シンボル スタイル] をクリックします。 [色] で、カラー ランプを赤と黄色に変更します。 色を調整したら、[完了] をクリックしてシンボル スタイルを閉じます。
  10. [スタイル オプション] の最後までスクロールし、[データの分類] ボタンを切り替えてデータをグループ化し、自転車運転者に関連する負傷が多い地域をハイライト表示します。
  11. [データの分類] 切り替えボタンの下にある [メソッド] ドロップダウン矢印をクリックします。 [標準偏差] を選択し、クラス サイズを標準偏差 [1] に設定します。
  12. その他のプロパティはデフォルトのままにしてから、[終了] をクリックします。
    Web マップに追加されシンボル表示されたフィーチャ レイヤー

Web マップが設定され、表示できるようになります。 Web マップを画面移動したりズームしたりしてビッグ データ解析の結果を調査し、自転車運転者に関連する負傷と死亡の件数が他の地域よりも多い地域と少ない地域を特定できます。

参考資料

このレッスンでは、約 150 万件の自転車運転者の事故を解析するビッグ データ解析を作成して実行し、ニューヨーク市で最も事故の件数が多い地域を特定しました。 これらの結果により、自転車関連の新しいインフラストラクチャをどこに設置すると最大の効果が得られるかについて、より詳しい情報をもとに決断を下すことができるようになりました。

引き続き Velocity を操作するにあたり、以下の追加リソースを利用できます。