ビッグ データ解析の設計

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

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

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

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

ビッグ データ解析の作成

最初に、ArcGIS Velocity でビッグ データ解析を作成します。

  1. Web ブラウザーで ArcGIS Velocity を開き、ArcGIS Online の認証情報を使用してサイン インします。

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

    注意:

    サイン インで問題が発生した場合は、ArcGIS Online の管理者にお問い合わせください。 ArcGIS Velocity を使用する権限がある ArcGIS Online ロールの割り当てが必要な場合があります。 ロールの作成とユーザーの割り当ての詳細については、「ロールの作成とユーザーの割り当て」をご参照ください。

  2. メイン メニューで、[解析] の下の [ビッグ データ] をクリックして [ビッグ データ解析] ページにアクセスします。

    [ビッグ データ解析] ページでは、既存のビッグ データ解析の表示、新しいビッグ データ解析の作成、ビッグ データ解析の開始と停止、ステータスの確認、既存のビッグ データ解析の編集、ビッグ データ解析のクローン作成や削除を行えます。

  3. [ビッグ データ解析の作成] をクリックして構成ウィザードを開き、新しいビッグ データ解析を作成します。

データ ソースの構成

ビッグ データ解析を構成するには、最初にデータ ソースのタイプを選択する必要があります。

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

    [データ ソースのタイプの選択] ウィンドウ

    注意:

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

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

    クラウド データ ソースのオプション

    クラウド プロバイダーについては、Azure Blob StoreAzure Cosmos DB、および Amazon S3 のプロバイダー Web サイトをご参照ください。

  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. [キー フィールドの識別] ステップで、[位置情報][日時][トラッキング] の各パラメーターを次のように設定します。
    1. [位置情報の種類] で、[X/Y フィールド] を選択します。
    2. [X (経度)] で、[LONGITUDE] を選択します。
    3. [Y (緯度)] で、[LATITUDE] を選択します。
    4. [高度 (Z)] で、[なし] を選択します。
    5. [空間参照] は、デフォルトの [GCS WGS 1984] をそのまま使用します。
    6. [データに日付フィールドがありますか?] で、[いいえ] を選択します。

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

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

      このパラメーターを使用して、データ ソース内の Track ID フィールドを指定できます。 Track ID の詳細については、「Track ID」をご参照ください。 このレッスンでは、Track ID を定義しません。

      データ ソース内のキー フィールドの識別

  2. [完了] をクリックして新しいデータ ソースを作成します。

    新しい [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 データ ソース

    [フィールド演算] ツールが次のステップで使用するソース データを認識するよう、2 つのノードを接続する必要があります。

  3. [フィールド演算] ツールをダブルクリックしてプロパティにアクセスします。
  4. [フィールド演算] ツールを次のように構成します。
    1. [新しいフィールド] オプションが選択されていることを確認します。
    2. [フィールド] 列に「TotalCyclistCasualties」と入力します。
    3. [タイプ] 列のドロップダウンをクリックして [Int64] を選択します。

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

    4. [Arcade 条件式の構成] ボタンをクリックして、[Arcade 条件式の構成] ウィンドウを開きます。
    5. 左側のウィンドウで、Arcade 式の設定機能を使用するか「$feature.NUMBER_CYCLIST_INJURED+$feature.NUMBER_CYCLIST_KILLED」と入力します。
    6. [実行] をクリックして Arcade 式を実行します。

      実行結果は、次の図のようになります。

      [Arcade 条件式の構成] ウィンドウ

    7. [OK] をクリックして式を保存します。
    8. [フィールド演算の追加] 列で、[追加] をクリックして新しいフィールドを追加します。

      構成後の [フィールド演算] ツール

    9. [適用] をクリックしてプロパティを適用します。

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

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

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

  7. [式によるフィルター処理] ツールを [フィールド演算] ツールの右側にドラッグしてドロップし、2 つのノードを接続します。

    モデルに追加された式によるフィルター処理ツール

  8. [式によるフィルター処理] ツールをダブルクリックしてそのプロパティを開き、次のように構成します。
    1. [Arcade 条件式の構成] ボタンをクリックして、[Arcade 条件式の構成] ウィンドウを開きます。
    2. 左側のウィンドウで、Arcade 式の設定機能を使用するか「$feature.TotalCyclistCasualties>0&$feature.LATITUDE>0」と入力します。

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

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

      実行結果は、次の図のようになります。

      Arcade 条件式の構成ウィンドウ

    4. [OK] をクリックして [式によるフィルター処理] ツールのプロパティに戻ります。
    5. [適用] をクリックして式を適用します。

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

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

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

  10. 解析エディターで [保存] をクリックし、更新されたビッグ データ解析の構成を保存します。
  11. [ポイントの集約] ツールを [式によるフィルター処理] ツールの右側にドラッグしてドロップし、2 つのノードを接続します。

    モデルに追加された式によるフィルター処理ツール

  12. [ポイントの集約] ツールをダブルクリックしてそのプロパティを開き、次のように構成します。
    1. [ポイントの集約] で、[ビン] を選択します。
    2. [ビン タイプ] で、[六角形] を選択します。
    3. [ビン サイズ] に「250」と入力し、測定単位は [メートル] のままにします。
    4. [集計フィールド][属性] で、[TotalCyclistCasualties] を選択します。
    5. [統計情報][合計] を選択します。
    6. [出力フィールド名] は、デフォルトの [TotalCyclistCasualties_Sum] のままにします。
    7. [追加] をクリックして集計フィールドを追加します。

      ポイントの集約ツールのプロパティ

    8. [適用] をクリックしてプロパティを適用します。

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

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

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

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

    [フィーチャ レイヤーの構成 (新規)] ウィンドウが開きます。

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

      Track 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] ビッグ データ解析を保存します。

ビッグ データ解析を開始

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

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

    ビッグ データ解析を開始

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

    注意:

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

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

    [停止] ボタンが [開始] に変わったら、その解析は 1 回実行されて完了し、現在は実行されていません。 [ビッグ データ解析] ページから、ビッグ データ解析のステータスを監視することもできます。

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

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

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

    マップ ビューアーでフィーチャ レイヤーを開く

    注意:

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

  3. 米国ニューヨーク市内のデータの範囲にズームインします。
  4. ベースマップを [キャンバス (ダーク グレー)] に変更します。
  5. [Cyclist Accident Aggregation] レイヤー上で [スタイルの変更] をクリックし、[表示する属性を選択] で、ドロップダウン メニューから [個数] を選択します。
  6. [描画スタイルの選択] で、[数と量 (色)] を選択し、[オプション] をクリックします。
  7. [シンボル] をクリックし、カラー ランプを赤/オレンジ/白のカラー ランプに変更し、[OK] をクリックします。
  8. [データの分類] チェックボックスをオンにします。
  9. [使用] ドロップダウン メニューで、[標準偏差] を選択し、クラス サイズを標準偏差 [1] に設定します。
  10. その他のプロパティはデフォルトのままにして [OK] をクリックしてから、[終了] をクリックします。

    Web マップに追加されシンボル表示されたフィーチャ レイヤー

  11. Web マップ上で画面移動やズームを行って、ビッグ データ解析の結果を確認します。 自転車運転者に関連する負傷と死亡の件数が他の地域よりも多い地域を特定します。

次の手順

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

引き続き ArcGIS Velocity を操作するにあたり、「最新リリースの新機能」、「ArcGIS Velocity の基本用語」、「ビッグ データ解析」、「リアルタイム解析」、「Arcade 条件式の使用」などの追加リソースを利用できます。