GCP

BigQuery GIS入門:超大規模地理空間分析の始め方

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


スポンサードリンク

1️⃣ BigQuery GIS の概要と代表的な活用シーン

特徴 説明
スケーラビリティ データ量がペタバイト規模でも、BigQuery の分散クエリエンジンが自動でスケールし、ストレージとコンピュートが独立しているためパフォーマンスが維持されます。
標準 GIS 型 GEOGRAPHY データ型は WGS84(EPSG:4326)に完全対応。座標系変換や投影の手間が不要です。
SQL だけで完結 空間関数はすべて SQL として提供され、外部ツールを介さずに分析・可視化が可能です。

主なユースケース

ユースケース ビジネス効果 代表的クエリ例
店舗最適配置 潜在顧客数をリアルタイムで把握し、出店判断の精度向上 ST_DWithin(store.location, customer.location, 5000)
物流・配車最適化 距離・所要時間に基づくベストルート算出でコスト削減 ST_Distance(origin, dest) + <外部 API 時間>
災害リスク分析 被災地点と行政区画の突合せで被害予測マップ作成 ST_Contains(district.geom, disaster_point)
マーケティングセグメンテーション 地域別顧客属性を可視化し、ターゲット広告を最適化 ST_Area(ST_UnionAgg(customer.location))

参考: Google Cloud の公式ドキュメント「BigQuery GIS overview


2️⃣ GEOGRAPHY データ型と WGS84 座標系の基礎

2.1 型の特徴

  • 内部実装 – Google が開発した S2 Geometry Library により、球面上での高速インデックスと正確な測地計算が保証されます。
  • サポートジオメトリPOINT, LINESTRING, POLYGON(および MULTI* 系)をすべて取り扱えます。

2.2 作成方法

入力形式 関数例
WKT 文字列 ST_GeogFromText('POINT(-122.084 37.422)')
緯度・経度カラム ST_GeogPoint(lon, lat)

詳細は公式リファレンス「GEOGRAPHY data type」を参照。

2.3 注意点

  • 緯度は -90 〜 +90、経度は -180 〜 +180 の範囲に収めること(ST_IsValid で検証)。
  • 座標系が混在するデータは ST_Transform(2024 年 12 月リリース)で統一可能です。

3️⃣ データロードと前処理

3.1 CSV/JSON → GEOGRAPHY の変換フロー

  1. Cloud Storage にファイルを配置
    gs://my-bucket/locations.csv
  2. スキーマ定義(GEOGRAPHY カラムは文字列としてロード)

  1. データロード

  1. GEOGRAPHY カラム追加 & 変換

「BigQuery における外部データのロード」(Google Cloud Docs) を参照。

3.2 インライン変換(外部テーブルで即時生成)

このテーブルは SELECT * FROM my_dataset.customers_ext の時点で location が GEOGRAPHY 型として利用可能です。


4️⃣ 主な空間関数と実務サンプルクエリ

4.1 空間述語(ブール値を返す)

関数 用途例
ST_Contains(a, b) ポリゴン内に点があるか判定
ST_Intersects(a, b) 線路と道路の交差チェック
ST_DWithin(a, b, radius_m) 半径検索(内部的に ST_Distance ≤ radius
ST_Touches(a, b) 隣接行政区画の判定

例:5 km バッファ内にいる顧客数を店舗ごとに集計

4.2 ジオメトリ生成・変形

関数 説明
ST_Buffer(geom, radius_m) 指定半径のバッファポリゴンを作成
ST_Simplify(geom, max_error_m) 頂点数削減でクエリコスト低減
ST_UnaryUnion(array<GEOGRAPHY>) 複数ジオメトリを統合し重複除去

例:店舗のサービス圏(2 km バッファ)と行政区画の交差判定

4.3 集計系関数(複数ジオメトリの統合・要約)

関数 用途
ST_UnionAgg(geom) 複数ポリゴンを一つに結合
ST_CentroidAgg(geom) ジオメトリ集合の重心を算出
ST_Area(geom) 面積(平方メートル)を取得

2024 年 12 月時点 では、BigQuery GIS は 70 種類以上 の空間関数を提供しています(公式関数一覧)。バージョンが上がると新しい関数が追加されるため、常に最新ドキュメントで確認しましょう。


5️⃣ 結果の可視化・レポート作成

5.1 Looker Studio(旧 Data Studio)との連携手順

手順 操作内容
1 BigQuery の対象テーブルに「ビューア」権限を付与し、データセットを公開。
2 Looker Studio で「データ ソース」 → 「Google BigQuery」を選択し、先ほどのテーブルを接続。
3 データソース設定画面で location カラムを ジオメトリ として認識させ、チャートタイプを Geo Map または Scatter Map に変更。
4 ラベルやサイズに store_idcustomers_within_5km などの指標を割り当て、地図上で可視化。

詳細手順は Google Cloud Blog の「Visualize BigQuery GIS data in Looker Studio」を参照。

5️⃣2 コスト管理のベストプラクティス

項目 推奨アクション
スキャン量削減 必要なカラムだけ SELECT、パーティショニング(例: 日付・地域)で対象データを絞る。
クラスタリング location をクラスタキーに設定すると、同一エリアのレコードが近接して格納され、ST_Intersects 系関数のスキャン量が減少。
ジオメトリ簡略化 大規模ポリゴンは ST_Simplify(geom, 10)(誤差 10 m)で事前に軽量化し、クエリコストを抑える。
プレビュー実行 本格集計の前に LIMIT を付けたサンプルクエリで結果とスキャン量を確認する。
権限最小化 データロードはサービスアカウントに限定し、分析用テーブルは「読み取り専用」ロールで共有。

課金モデルの詳細は公式ページ「BigQuery pricing」をご覧ください。


6️⃣ 実務導入時のチェックリスト

項目 確認ポイント
座標系統一 全テーブルが WGS84(EPSG:4326)で格納されているか。
ジオメトリ有効性 WHERE NOT ST_IsValid(location) で不正データを除外。
パーティション設計 時系列分析なら日付、地域別集計ならハッシュ分割を検討。
テスト環境 本番投入前に小規模サンプルでクエリ性能とコストを測定。
ドキュメント整備 スキーマ・変換ロジック・権限設定を社内 Wiki にまとめ、運用担当者が参照できるようにする。

7️⃣ まとめ

  • BigQuery GIS は「大規模・高速・SQL 完結」 を実現し、店舗最適配置や物流ルート解析といったビジネス課題をデータドリブンで解決できる基盤です。
  • GEOGRAPHY 型と豊富な空間関数(70 種以上)により、ポイント・ライン・ポリゴンのすべてをシンプルなクエリで操作できます。
  • データロードは CSV/JSON から インライン変換 が可能で、パーティショニング/クラスタリングと組み合わせればコストも最適化できます。
  • 結果は Looker Studio などの BI ツールへシームレスに連携でき、非エンジニアでも直感的な地図レポートを作成可能です。

まずは サンプルデータgs://my-bucket/sample_locations.csv)を Cloud Shell にロードし、本稿のクエリを実行してみてください。大規模位置情報分析が手軽に始められることをご体感いただけるはずです。


参考リンク

内容 URL
BigQuery GIS の概要 https://cloud.google.com/bigquery/docs/gis-intro
GEOGRAPHY データ型・関数一覧 https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions
データロード方法(CSV/JSON) https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv
Looker Studio での GIS 可視化 https://cloud.google.com/blog/topics/developers-practitioners/visualizing-bigquery-gis-data-looker-studio
BigQuery の課金モデル https://cloud.google.com/bigquery/pricing

スポンサードリンク

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


-GCP