データ アナリスト向けの BigQuery GIS スタートガイド

このチュートリアルでは BigQuery GIS を紹介します。BigQuery GIS を利用すると、BigQuery の地理空間データを簡単に分析して可視化できます。

は、

目標

このチュートリアルの内容は次のとおりです。

  • BigQuery GIS 関数を使用して、緯度と経度の列を地理上の点に変換する
  • 30 台を超える自転車がレンタル可能なシティバイク ステーションをすべて検索するクエリを実行する
  • BigQuery Geo Viz で結果を可視化する

料金

このチュートリアルでは、以下を含む Cloud Platform の有料コンポーネントを使用します。

  • Google BigQuery

次の料金が発生します。

  • BigQuery 一般公開データセットに対するデータのクエリ
    • 毎月、最初の 1 TB は無料です。
    • 定額料金を選択している場合、クエリの使用料は月額料金に含まれます。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  3. プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

  4. 新しいプロジェクトでは BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、以下にアクセスします。 BigQuery API を有効にします。

    APIを有効にする

対象

これは、データ アナリスト向けの入門チュートリアルです。

データ アナリストが BigQuery の標準 SQL を使用してデータの傾向を分析し、ビジネス戦略と業務の見直しを行います。具体的には、BigQuery ML を使用して ML モデルをトレーニングして評価し、予測分析を行います。

データ アナリストは次のような UI ベースのツールを使用します。

  • GCP Console の BigQuery ウェブ UI
  • スプレッドシート
  • RStudio などの統計ソフトウェア
  • Cloud Datalab やデータポータルなどの可視化ツール

サンプルデータの探索

このチュートリアルでは、Google Cloud 一般公開データセット プログラムを通じて提供されているデータセットを使用します。一般公開データセットは、BigQuery に保存され、一般に公開されるデータセットです。この一般公開データセットは BigQuery でホストされ、ユーザーがアクセスして独自のアプリケーションに統合できます。Google では、これらのデータセットの保存費用を負担しており、プロジェクト経由でデータへの一般公開アクセスを提供しています。データに対して実行されたクエリにのみ料金が発生します(毎月 1 TB まで無料。クエリの料金の詳細をご覧ください)。

NYC シティバイクの移動に関するデータセット

NYC Citi Bike Trips

シティバイクは、マンハッタン、ブルックリン、クイーンズ、ジャージーシティの全域で 10,000 台の自転車と 600 のステーションを持つ、米国最大級の自転車シェア プログラムです。このデータセットには、2013 年 9 月にシティバイクが発足して以来毎日更新されているシティバイクの移動記録が含まれています。データはシティバイクによって処理が加えられており、システムの点検と検査のためのスタッフによる移動や、誤った開始と見なされる 60 秒未満の移動は削除されています。

BigQuery コンソールで citibike_stations テーブルの詳細を表示し、このデータを探索してみましょう。

citibike_stations スキーマへ移動

このチュートリアルに関連するのは、このテーブルの次の 3 つの列です。

  • bike_stations.longitude - ステーションの経度。値は有効な WGS 84 経度で、10 進数形式です。
  • bike_stations.latitude - ステーションの緯度。値は有効な WGS 84 緯度で、10 進数形式です。
  • num_bikes_available - レンタル可能な自転車の数。

30 台を超える自転車が利用可能な自転車ステーションをクエリする

チュートリアルのこのセクションでは、30 台を超える自転車をレンタルできるニューヨーク市のシティバイク ステーションをすべて検索する標準 SQL クエリを実行します。

クエリの詳細

次の標準 SQL クエリを使用して、30 台を超える自転車があるシティバイク ステーションを検索します。

#standardSQL
SELECT
  ST_GeogPoint(longitude, latitude)  AS WKT,
  num_bikes_available
FROM
  `bigquery-public-data.new_york.citibike_stations`
WHERE num_bikes_available > 30

このクエリ句は次の処理を行います。

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    SELECT 句は num_bikes_available 列を選択します。また、ST_GeogPoint 関数を使用して latitude 列と longitude 列の値を GEOGRAPHY 型(ポイント)に変換します。
  • FROM `bigquery-public-data.new_york.citibike_stations`
    FROM 句は、クエリ対象のテーブル citibike_stations を指定します。
  • WHERE num_bikes_available > 30
    WHERE 句は、num_bikes_available 列の値でデータをフィルタリングし、30 台を超える自転車があるステーションのみを取り出します。

クエリを実行する

GCP Console で BigQuery ウェブ UI を使用してクエリを実行するには:

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [クエリエディタ] テキスト領域に、次の標準 SQL クエリを入力します。

    #standardSQL
    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. [実行] をクリックします。

    クエリが完了するまでに少し時間がかかります。クエリが完了すると、結果が [クエリ結果] パネルに表示されます。

    自転車ステーションの検索結果

Geo Viz でクエリ結果を可視化する

次に、BigQuery Geo Viz を使用して結果を可視化します。BigQuery Geo Viz は、Google Maps API を使用して BigQuery の地理空間データを可視化するためのウェブツールです。

Geo Viz を起動して認証する

Geo Viz を使用するには、その前に認証を行い、BigQuery のデータへのアクセス権を付与する必要があります。

Geo Viz を設定するには:

  1. Geo Viz ウェブツールを開きます。

    Geo Viz ウェブツールを開く

  2. 手順 1 の [Select data] で [Authorize] をクリックします。

    Geo Viz の [Authorize] ボタン

  3. [Choose an account] ダイアログで Google アカウントをクリックします。

    [Choose an account] ダイアログ

  4. アクセス ダイアログで [Allow] をクリックして、BigQuery のデータに Geo Viz がアクセスできるようにします。

    アクセス ダイアログ

GIS データに対して標準 SQL クエリを実行する

認証してアクセス権を付与したら、次に Geo Viz でクエリを実行します。

クエリを実行するには:

  1. 手順 1 の [Select data] で [Project ID] フィールドにプロジェクト ID を入力します。

  2. クエリ ウィンドウに次の標準 SQL クエリを入力します。

    #standardSQL
    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. [Processing Location] で [US] を選択します。一般公開データセットに対するクエリを実行する場合は、処理ロケーションとして US を選択します。一般公開データセットは米国に格納されているためです。

  4. [Run] をクリックします。

  5. クエリが完了したら [See results] をクリックします。手順 2 の [Define columns] をクリックしても同様に次に進むことができます。

    結果を確認

  6. これで手順 2 に移動します。手順 2 の [Geometry column] で [WKT] を選択します。自転車ステーションに対応する点がマップ上にプロットされます。

    マップされた結果

可視化の形式設定

[Style] セクションには、カスタマイズ可能なビジュアル スタイルの一覧が表示されます。特定のプロパティは特定のデータタイプのみに適用されます。たとえば、circleRadius は点のみに影響します。

サポートされているスタイル プロパティは以下のとおりです。

  • fillColor - ポリゴンまたは点の塗りつぶしの色です。たとえば、linear 関数または interval 関数を使用して、数値をカラー グラデーションにマッピングできます。
  • fillOpacity - ポリゴンまたは点の塗りつぶしの不透明度です。値は 0 から 1 の範囲で指定します。0 は透明で 1 は不透明となります。
  • strokeColor - ポリゴンまたは線のストロークまたはアウトラインの色です。
  • strokeOpacity - ポリゴンまたは線のストロークまたはアウトラインの不透明度です。値は 0 から 1 の範囲で指定します。0 は透明で 1 は不透明となります。
  • strokeWeight - ポリゴンまたは線のストロークまたはアウトラインの幅です。ピクセル単位で指定します。
  • circleRadius - 点を表す円の半径です。ピクセル単位で指定します。たとえば、linear 関数を使用して数値を点のサイズにマッピングし、散布図スタイルを作成できます。

各スタイルには、グローバル値(すべての結果に適用される)、データ駆動値(各結果行のデータに応じて異なる方法で適用される)のいずれかを指定できます。データ駆動値の場合、次の機能を使用して表示結果を指定します。

  • function - フィールドの値からスタイル値を計算するために使用される関数。
  • identity - 各フィールドのデータ値がスタイル値として使用されます。
  • categorical - ドメインにリストされた各フィールドのデータ値と、範囲内の対応するスタイルを 1 対 1 でマッピングします。
  • interval - 各フィールドのデータ値がドメイン内の最も近い値に丸められ、範囲内の対応するスタイルが適用されます。
  • linear - 各フィールドのデータ値がドメインの値の中で線形補間され、範囲内の対応するスタイルが混ぜ合わされて適用されます。
  • field - データ内の指定されたフィールドがスタイル関数の入力として使用されます。
  • domain - フィールドのサンプル入力値の順序付きリスト。サンプル入力(ドメイン)は、指定された関数に基づいてサンプル出力(範囲)とペアになり、すべての入力(ドメインにリストされていないものも含む)のスタイル値を導き出すために使用されます。ドメイン内の値は、可視化を行っているフィールドの値と同じ型(テキスト、数値など)にする必要があります。
  • range - スタイルルールのサンプル出力値のリスト。範囲の値は、制御しているスタイル プロパティと同じ型(色または数値)にする必要があります。たとえば、fillColor プロパティの範囲には色のみが含まれるようにします。

マップの形式を設定するには:

  1. 手順 2 の [Add styles] をクリックするか、手順 3 の [Style] をクリックします。

  2. 点の色を変更します。[fillColor] をクリックします。

  3. [Value] フィールドに、青色の HTML カラーコードである「#0000FF」を入力します。

    塗りつぶしの色

  4. マップ上で確認します。いずれかのポイントにカーソルを合わせると、その値が表示されます。

    点のマッピングの詳細

  5. [fillOpacity] をクリックします。

  6. [Value] フィールドに「.5」と入力します。

    塗りつぶしの透明度

  7. マップ上で確認します。点の塗りつぶし色が半透明になります。

    半透明の点が描画された地図

  8. 利用可能な自転車の数に基づいて点のサイズを変更します。[circleRadius] をクリックします。

  9. [circleRadius] パネルで以下を設定します。

    1. [Data driven] をクリックします。
    2. [Function] で [linear] を選択します。
    3. [Field] で [num_bikes_available] を選択します。
    4. [Domain] では最初のボックスに「30」、2 番目のボックスに「60」と入力します。
    5. [Range] では最初のボックスに「5」、2 番目のボックスに「20」と入力します。

      円の半径

  10. マップ上で確認します。各円の半径は、その場所で利用可能な自転車の数に対応します。

    最終的なマップ

  11. Geo Viz を閉じます。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

  • 作成したプロジェクトを削除する。
  • または、将来の使用のためにプロジェクトを保持する。

プロジェクトを削除する手順は次のとおりです。

  1. GCP Console で [プロジェクト] ページに移動します。

    プロジェクト ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。