プラントエンジニアリングメーカーの社内システムを開発しています。GHです。
このブログではBigQuery Geo Vizについて、以下のことを紹介します。
- Geo Vizとは何か
- Geo Vizで可視化した例
- 使用して感じた所感
以前、GCPのサービスを業務で使用したことがあり、
よりGCPについて理解したいと思い、現在資格の学習中です。
その中でGeo Vizを知り、今回初めて使用してみました。
BigQuery Geo Vizとは
Bigqueryにクエリを発行して、地理空間データを可視化できるツールです。
使用するためには、以下を用意しておく必要があります。
- GCPのプロジェクト
- GEOGRAPHY型のデータ
※Geo VizはGEOGRAPHY型をサポートしています。
データにGEOGRAPHY型が含まれない場合、
クエリ結果に含まれるように、地理関数で変換する必要があります。
地理関数とは
地理関数はBigQueryのGEOGRAPHY値を処理または生成します。
詳しく知りたい方は、以下のリファレンスをご確認ください。
https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions
使用手順
- 以下にアクセス
https://bigquerygeoviz.appspot.com - Googleアカウントを選択
- Geo VizにBigQueryデータへのアクセスを許可
- GCPのプロジェクトを選択
- ウィンドウにクエリを入力
Geo Vizで実行するクエリを、予めBigQueryで確認しておくとスムーズです。 - クエリ実行
- 実行結果の確認や可視化の調整
地震のデータを可視化
今回は以下の一般公開データセットを使用して、日本で発生した地震を可視化してみました。
noaa_significant_earthquakes
一般公開データセットは、BigQueryで誰でも使用できるデータセットです。
noaa_significant_earthquakesには、世界中で発生した重要な地震のデータが入っています。
クエリ実行後のGeo Vizの画面キャプチャ:

可視化に使用したクエリ:
SELECT country, year, month, day, location_name, eq_primary, focal_depth, total_deaths, flag_tsunami, ST_GEOGPOINT(longitude, latitude) AS wkt, FROM `bigquery-public-data.noaa_significant_earthquakes.earthquakes` WHERE country = 'JAPAN'
- WHERE句で日本のみ表示されるように絞り込んでいます。
- 可視化するために、地理関数を使用して、経度/緯度をGEOGRAPHY型に変換しています。
画面の操作説明
画面構成は、左パネルで操作、右パネルに操作結果が表示されるようになっています。
左のパネルは大きく分けて、四つの操作ができるようになっています。
- Query・・・クエリの入力、実行
- Data・・・クエリ結果の確認
- Style・・・可視化の形式設定
- Share・・・クエリと、Styleの設定を保持したリンクの生成
データによって、点/線/面がプロットされます。
左パネルのStyleは、データに基づく可視化設定も可能です。
今回は、データの津波フラグを利用して津波を伴った地震を青色にしています。
円の大きさも、データに基づき、大きさを変えています。
一番大きな点は関東大震災、二番目に大きな点は東日本大震災です。
以下のチュートリアルに、可視化の形式設定について詳しい説明が記載されています。
https://cloud.google.com/bigquery/docs/geospatial-get-started
所感
Geo Vizの良かった点
- クエリの実行結果をすぐに確認可能
実行が完了すると、そのまま右パネルに結果が可視化されます。 - GCPのプロジェクトを用意するだけで使用可能
他に、何かインストールしたり、登録したりする必要はありません。 - クエリにかかるバイト数の表示
BiGQueryのUI同様、クエリ実行時にかかるバイト数を事前に確認することができます。 - 可視化結果からデータの詳細が確認可能
プロットされた箇所をクリックすると、どのデータの可視化なのか詳細が確認できます。 - データドリブンの可視化
クエリ結果のデータに基づいて、色や濃淡、点のサイズが変更できます。 - リンクのシェア機能
クエリと、Styleの設定を保持できるのが便利です。
自分が行った可視化を他の人と共有できます。
感想
今回、私が可視化のために使用した地理関数は、ST_GEOGPOINTのみですが、
Big Queryには、他にもいろいろな地理関数があります。
例えば、2 つのポイント間の最短距離を返すものや、
1つのポイントと指定された距離以下の場合はTRUEを返すものがあります。
それらをGeo Vizと組み合わせて使用することで、様々な分析ができそうだと思いました。