このチュートリアルでは、地理空間分析について紹介します。地理空間分析を使用すると、BigQuery で地理空間データを分析して可視化できます。
目標
このチュートリアルの内容は次のとおりです。
- 地理空間分析関数を使用して、緯度と経度の列を地理上の点に変換する
- 30 台を超える自転車がレンタル可能なシティバイク ステーションをすべて検索するクエリを実行する
- BigQuery Geo Viz で結果を可視化する
費用
このチュートリアルでは、Google Cloud の課金対象となるコンポーネントを使用します(BigQuery を含む)。
次の料金が発生します。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- 新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、
Enable the BigQuery API.
にアクセスします。
サンプルデータの探索
このチュートリアルでは、Google Cloud 一般公開データセット プログラムを通じて提供されているデータセットを使用します。一般公開データセットは、BigQuery に保存され、一般に公開されるデータセットです。この一般公開データセットは BigQuery でホストされ、ユーザーがアクセスして独自のアプリケーションに統合できます。Google はこうしたデータセットの保存費用を負担し、プロジェクトを使用してデータを一般提供しています。データに対して実行したクエリにのみ料金が発生します(毎月 1 TB まで無料。クエリの料金の詳細をご覧ください)。
NYC シティバイクの移動に関するデータセット
シティバイクは、マンハッタン、ブルックリン、クイーンズ、ジャージーシティの全域で 10,000 台の自転車と 600 のステーションを持つ、米国最大級の自転車シェア プログラムです。このデータセットには、2013 年 9 月にシティバイクが発足して以来毎日更新されているシティバイクの移動記録が含まれています。データはシティバイクによって処理が加えられており、システムの点検と検査のためのスタッフによる移動や、誤った開始と見なされる 60 秒未満の移動は削除されています。
まず、BigQuery コンソールで citibike_stations
テーブルの詳細を表示し、このデータを確認しましょう。
このチュートリアルに関連するのは、このテーブルの次の 3 つの列です。
bike_stations.longitude
: ステーションの経度。値は有効な WGS 84 経度で、10 進数形式です。bike_stations.latitude
: ステーションの緯度。値は有効な WGS 84 緯度で、10 進数形式です。num_bikes_available
: レンタル可能な自転車の数。
30 台を超える自転車が利用可能な自転車ステーションをクエリする
チュートリアルのこのセクションでは、30 台を超える自転車をレンタルできるニューヨーク市内のシティバイク ステーションをすべて見つける GoogleSQL クエリを実行します。
クエリの詳細
次の GoogleSQL クエリを使用して、30 台を超える自転車があるシティバイク ステーションを見つけます。
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 台を超える自転車があるステーションのみを取り出します。
クエリを実行する
Google Cloud コンソールを使用してクエリを実行するには:
Google Cloud コンソールの [BigQuery] ページに移動します。
[クエリエディタ] のテキスト領域に、次の GoogleSQL クエリを入力します。
-- 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
[実行] をクリックします。
クエリが完了するまでに少し時間がかかります。クエリが完了すると、結果が [クエリ結果] パネルに表示されます。
Geo Viz でのクエリ結果の可視化
次に、BigQuery Geo Viz を使用して結果を可視化します。BigQuery Geo Viz は、Google Maps API を使用して BigQuery の地理空間データを可視化するためのウェブツールです。
Geo Viz の起動と認証
Geo Viz を使用するには、その前に認証を行い、BigQuery のデータへのアクセス権を付与する必要があります。
Geo Viz を設定するには:
Geo Viz ウェブツールを開きます。
このツールを承認して使用するには、Cookie を有効にする必要が生じることがあります。
手順 1 [クエリ] で [承認] をクリックします。
[Choose an account] ダイアログで Google アカウントをクリックします。
アクセス ダイアログで [Allow] をクリックして、Geo Viz に BigQuery データへのアクセスを許可します。
地理空間データに対して GoogleSQL クエリを実行する
認証してアクセス権を付与したら、次に Geo Viz でクエリを実行します。
クエリを実行するには:
手順 1 [Select data] で [Project ID] フィールドにプロジェクト ID を入力します。
クエリ ウィンドウで、次の GoogleSQL クエリを入力します。
-- 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
[実行] をクリックします。
クエリが完了したら [Show results] をクリックします。また、手順 2 [Define columns] をクリックすることもできます。
これでステップ 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
プロパティの範囲には色のみが含まれるようにします。
マップの形式を設定するには:
手順 2 の [Add styles] をクリックするか、手順 3 の [Style] をクリックします。
点の色を変更します。[fillColor] をクリックします。
[Value] に、青の HTML カラーコード「
#0000FF
」を入力します。[スタイルを適用] をクリックします。
マップ上で確認します。いずれかのポイントをクリックすると、値が表示されます。
[fillOpacity] をクリックします。
[値] フィールドに「
0.5
」と入力し、[スタイルを適用] をクリックします。マップ上で確認します。点の塗りつぶし色が半透明になります。
利用可能な自転車の数に基づいて点のサイズを変更します。[circleRadius] をクリックします。
[circleRadius] パネルで以下を設定します。
- [Data driven] をクリックします。
- [Function] で [linear] を選択します。
- [Field] で [
num_bikes_available
] を選択します。 - [Domain] で最初のボックスに「
30
」、2 番目のボックスに「60
」と入力します。 [Range] で最初のボックスに「
5
」、2 番目のボックスに「20
」と入力します。
マップ上で確認します。各円の半径は、その場所で利用可能な自転車の数に対応します。
Geo Viz を閉じます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
- 作成したプロジェクトを削除する。
- または、将来の使用のためにプロジェクトを保持する。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
次のステップ
- 地理空間分析の可視化オプションの詳細については、地理空間データの可視化をご覧ください。
- 地理空間分析データの操作については、地理空間データの操作をご覧ください。
- 地理空間分析の使用方法のチュートリアルについては、地理空間分析を使用してハリケーンの進路をプロットするをご覧ください。
- 地理空間分析の GoogleSQL 関数については、GoogleSQL の地理関数をご覧ください。