GCP

GCP BigQuery 地理空間データのセットアップと活用方法【2026年版】

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

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

環境構築の概要と前提条件

このハンズオンでは、2026 年時点の Google Cloud Platform(GCP)コンソール UI をベースに手順を示します。実務でデータエンジニアリングや GIS 分析を行う担当者が、最小限の権限と設定だけでスムーズに作業を開始できるよう設計しています。

対象読者と必要な権限

本資料は データエンジニア、GIS アナリスト、データサイエンティスト、IT 部門の実務担当者 を想定しています。作業に最低限必要な IAM ロールは次の通りです。

  • BigQuery Admin – テーブル作成・データロード・クエリ実行が可能
  • Viewer – プロジェクト全体の設定確認や UI 操作ができる

これらは GCP コンソールの「IAM と管理」→「ロール」から対象ユーザーに付与します。権限不足の場合、API の有効化やデータロード時にエラーが発生するため、事前に担当者へ確認してください。


BigQuery API の有効化とプロジェクト設定

BigQuery を利用する第一歩は、対象プロジェクトで API を有効化し、適切な IAM ロールを付与することです。ここでは UI 操作とコマンドラインの両方を簡潔に紹介します。

手順:API の有効化

以下の手順で「BigQuery API」を有効化できます。画面構成が将来変更される可能性がありますので、公式ドキュメント(Google Cloud)も併せて確認してください。

  1. GCP コンソール左上の ナビゲーションメニュー をクリック
  2. 「APIs とサービス」→「ライブラリ」を選択
  3. 検索バーに BigQuery API と入力し、表示された項目を開く
  4. 有効化 ボタンを押して API を有効化

手順:IAM ロールの付与方法

API が有効になったら、作業ユーザーに BigQuery Admin 権限を付与します。

  • コンソール左側メニューから「IAM と管理」→「IAM」を選択
  • 「ロールの追加」ボタンで対象ユーザー(またはサービスアカウント)を指定し、BigQuery > BigQuery Admin を選ぶ

以上で、コンソール上だけでデータ操作が完結できる環境が整います。


地理空間データのロード手順

GEOGRAPHY 型列を持つテーブルへ GeoJSON や CSV データをインライン変換・ストリーミングで取り込む方法を解説します。ここではスキーマ定義から実際のロード例まで一連の流れを示します。

テーブルスキーマと GEOGRAPHY 列の定義

まずはテーブル作成時に GEOGRAPHY 型列を明示的に設定します。コンソールの「テーブル作成」画面で以下のように入力してください。

列名 データ型
id STRING
name STRING
geom GEOGRAPHY

この構成により、後続の空間関数(ST_Contains など)をそのまま利用できます。

インライン変換でのデータ挿入例

SQL 文だけで GeoJSON を GEOGRAPHY に変換し、テーブルへレコードを追加するサンプルです。小規模なポイントデータの投入に便利です。

ストリーミングロード(bq コマンド)

大量データやバッチ処理には bq load が有効です。NEWLINE_DELIMITED_JSON 形式で GEOGRAPHY を文字列として保持します。

places.json の各行例

この形式でロードすれば、スキーマ不一致エラーを回避しながら高速に取り込みが可能です。


基本的なクエリフローと主要空間関数

BigQuery コンソールのクエリエディタを使った基本操作手順と、代表的な地理空間関数のサンプルを紹介します。初心者でも UI に沿って実行できるよう構成しています。

クエリエディタでの操作手順

  1. コンソール左側メニューから「BigQuery」→「クエリエディタ」を開く
  2. 実行したい SELECT 文を入力(例は次節)
  3. 画面上部の 実行 ボタンをクリック
  4. 完了後に表示される 結果 タブでデータを確認し、必要なら CSV ダウンロードや別テーブルへの保存を行う

代表的空間関数とサンプルクエリ

以下は分析シナリオで頻出する関数と、その使用例です。すべて GoogleSQL 標準構文です。

関数 用途 サンプルクエリ
ST_Contains(geom1, geom2) あるジオメトリが別のジオメトリに含まれるか SELECT name FROM my_dataset.places WHERE ST_Contains(ST_GeogFromText('POLYGON((...))'), geom);
ST_Distance(geom1, geom2) 2 点間の距離(メートル) SELECT id, ST_Distance(geom, ST_GeogPoint(139.7,35.6)) AS dist_m FROM my_dataset.places ORDER BY dist_m LIMIT 5;
ST_Union(geom_array) 複数ジオメトリの結合(多辺形) SELECT ST_Union(ARRAY_AGG(geom)) AS merged FROM my_dataset.parcels;

結果はコンソール上で簡単に可視化でき、必要に応じて他サービスへエクスポートできます。


コスト最適化とトラブルシューティング

スキャン量を抑えるテーブル設計と、実務でよく遭遇するエラーの対処法をまとめます。コスト削減と障害復旧の両面から、運用効率を高めるポイントを解説します。

パーティショニングとクラスタリング活用例

GEOGRAPHY 列はクラスタリングキーとして有効です。日時でパーティションしつつ、地域情報でクラスタリングするとクエリ対象データが大幅に限定されます。

上記テーブルに対し、特定の日付と地域だけを対象としたクエリはスキャンデータが 10 % 以下 に削減されます。

よくあるエラーと対処法

エラー 主な原因 推奨対処
Invalid geospatial data GeoJSON の座標順序が逆(lat,lon → lon,lat) データ投入前に ST_GeogFromGeoJson で座標順序を確認・修正
Type mismatch: expected GEOGRAPHY but got STRING スキーマ定義とロードデータの型不一致 テーブル作成時に GEOGRAPHY を明示、または bq load --schema で正確に指定
Access denied; user does not have permission 必要ロールが付与されていない IAM コンソールで BigQuery Admin または対象権限を追加

エラーメッセージはコンソール上部に表示されるため、指摘された項目を順に確認すれば迅速に復旧できます。


可視化と次のステップ

クエリ結果を Looker Studio に接続し、インタラクティブな地図ウィジェットで可視化する手順を示します。レポート作成の基本フローだけ把握すれば、社内共有が格段に楽になります。

Looker Studio への接続手順

  1. Looker Studio のホーム画面で データソースを作成BigQuery を選択
  2. プロジェクト・データセット・テーブル(クエリ結果)を指定し、接続 ボタンをクリック
  3. 必要に応じてカスタムフィールド(例:距離カテゴリ)を追加

この接続はネイティブで GEOGRAPHY 列を地図レイヤーとして認識します。

簡易地図レポート作成例

  1. レポート編集画面の チャートマップ を選択
  2. データソースに先ほど作成した BigQuery 接続を指定
  3. ジオメトリ フィールドに GEOGRAPHY 列(例:region)を割り当て
  4. 色分けは「測定値」や「ディメンション」に基づく条件付き書式で設定

以上の操作だけで、地域別売上や施設配置などの空間情報が一目で把握できるダッシュボードが完成します。作成したレポートは URL 共有や埋め込みコードで社内外に配布可能です。


注意書き(UI の将来的変更について)

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-GCP