BigQuery GIS 功能介紹 – 使用 Google BigQuery 進行 GIS 空間資料分析

BigQuery GIS 為 Google BigQuery 提供針對地理空間資訊的分析相關功能。BigQuery 是全球第一個支援地理空間數據類與功能的資料倉儲服務,這使得傳統 GIS 領域中的地理空間相關資料格式(如:經/緯度、城市、州、郵政編碼...等)成為預設資料格式之一,提供使用者將相關的 GIS 數據。
思想科技 BigQuery GIS 功能介紹 - 使用 Google BigQuery 進行 GIS 空間資料分析

BigQuery GIS 為 Google BigQuery 服務中所提供針對地理空間資訊(Geospatial Information Systems, GIS)的分析相關功能,簡稱 BigQuery GIS,首度曝光於 2018 年發佈的 beta 測試版。當時 BigQuery 是全球第一個支援地理空間數據類與功能的雲端 MPP(Massively Parallel Processing, 大規模平行處理運算技術)的資料倉儲服務,這使得傳統 GIS 領域中的地理空間相關資料格式(如:經/緯度、城市、州、郵政編碼…等)也成為 BigQuery 預設支援的資料格式之一,提供使用者將相關的 GIS 數據,如點、線、面等相關資訊,進行資料分析、轉換,以進一步獲取深入見解。而在 2019 年,BigQuery GIS 正式宣布釋出了 GA 版,即官方正式公開發行版本。

如今,地理空間與位置資訊在資料分析中非常常見,根據 Google 統計,在 Github 中有 9% 的 SQL 檔案會執行空間查詢,其分析結果更與企業的商業決策息息相關,例如:「商店開在哪個位置能吸引到最多人流?」、「 我的包裹會準時到達嗎?」 或「我們應該將促銷優惠券推播給誰?」等,數據分析人員可以透過 BigQuery GIS 輕鬆執行空間資訊相關的資料分析操作,更輕易地做出數據導向的決策。

除了能在 BigQuery 運用 GIS 的各式語法,BigQuery GIS 還提供了 BigQuery Geo Viz — 這是一套由 Google 推出的免費開源工具,讓使用者可將透過 BigQuery 語法查詢的運算結果於地圖上快速地視覺化展示,並支援設定在地圖呈現上點/線/面等不同樣式。

BigQuery GIS demo 1
使用 BigQuery Geo Viz 展示曼哈頓Citybike公共自行車出租站點位與可租借車輛數,以藍色表示可租借車輛數較多、紫色較少,以圓圈直徑大小表示自行車站車輛總容量
BigQuery GIS demo 2
使用BigQuery GIS繪製颶風行經路徑,詳請參見Google教學說明

BigQuery GIS 支援點(Point)、線(Linestring)、面(Polygon)的 GIS 空間資料格式,其功能與傳統使用 PostGIS 的經驗非常相似,均遵循且符合 SQL MM(ISO 標準);BigQuery GIS 所提供空間分析功能範疇,參見下表:

BigQuery GIS table

思想科技 實際測試案例

#Demo範例 1

公開資料集public dataset

  • bigquery-public-data.geo_us_boundaries.zip_codes (美國郵遞區號分區)
  • bigquery-public-data.census_bureau_usa.population_by_zip_2010 (全美2010年人口統計數據)

測試情境

  • 使用「空間連結(spatial joins)」語法,將人口統計數據join加入至郵遞區號分區中,並從中選出紐約市範圍資料,於BigQuery Geo Viz上進行視覺化展示

語法

SELECT 
    zip_code, city, county, state_name, zip_code_geom, zipcode, population
FROM
    `bigquery-public-data.geo_us_boundaries.zip_codes`
    join `bigquery-public-data.census_bureau_usa.population_by_zip_2010` on zip_code = zipcode 
    where city = 'New York city'=

BigQuery Geo Viz 結果

#Demo範例 2

公開資料集 Public Dataset

  • bigquery-public-data.geo_us_boundaries.zip_codes (美國郵遞區號分區)
  • bigquery-public-data.new_york_citibike.citibike_stations (紐約citybike公共腳踏車租借站)

測試情境

  • 使用「ST_DWithin」空間環域分析語法,選取郵遞區號為「10026」或「10029」兩區、以及距離此二區域外圍300公尺內之所有citybike公共腳踏車租借站,於BigQuery Geo Viz上視覺化展示,動態增減環域範圍觀察選取結果變化

語法

WITH zipcode AS (
    SELECT zip_code_geom AS polygon
    FROM `bigquery-public-data.geo_us_boundaries.zip_codes`
    WHERE zip_code = '10026' or zip_code = '10029'
),
stations AS (
    SELECT
       name, num_bikes_available, latitude, longitude,
       ST_GeogPoint(longitude, latitude) coordinates,
    FROM
       `bigquery-public-data.new_york_citibike.citibike_stations` as cbs,
       zipcode
    WHERE ST_DWithin(ST_GeogPoint(longitude, latitude), zipcode.polygon, 300)
)
SELECT * from stations

BigQuery Geo Viz 結果

更多介紹影片

How Geotab Drives Smart City Innovation, Using BigQuery
Google Partner – Geotab,於 Cloud Next ’18 大會中,展示如何使用 BigQueryGIS 運用於車載系統回傳之 GPS 數據,提供校園附近行車車速監控與街區潛在風險分析。

BigQuery GIS (3分鐘功能一覽)
運用 BigQueryGIS 語法,選出某一郵遞區號分區周圍 10 公里的所有氣象站;並使用「空間連結 (Spatial Joins)」語法,將人口統計數據 Join 加入至郵遞區號分區地理資料中。影片說明欄提供所使用的 query 語法放在 Github 上的連結供各界參考

BigQuery Public Dataset and GIS demo 
運用 BigQueryGIS 語法,顯示全美 2018 年雷擊次數之空間分佈,並以奧克拉荷馬州為例,將平均每日雷擊次數以「空間連結 (Spatial Joins)」語法 Join 加入至郡行政區分區圖以及郵遞區號分區圖中。

相關資源

BigQuery GIS – 說明文件

BigQuery GIS 實際應用情境 – 繪製颶風行經路徑

Google Platform Console Marketplace – Public Dataset 公開資料集,供 BigQuery GIS 功能測試使用

了解更多

相關文章

透過 Security Key 保護 G Suite 帳號安全

Google 帳號在 2011 年釋出了兩步驟驗證功能,來保護使用者帳號和資料的安全,隨後也釋出了 Security Key(安全金鑰)的支援,所以現在使用 Google 帳號的人,都能透過電話、簡訊、手機驗證器或安全金鑰來使用兩步驟驗證的功能。

Google Cloud Platform tag management

Google Cloud Platform 資源如何有效透過標籤輕鬆管理

若你想查看的是單一台VM、某個應用程式或某個團隊在 project 中所使用的成本,在預設的報表中是無法直接看到的。這時候就需要使用 Google Cloud Platform 上的標籤 (Label) 功能來幫將你把資源分類,根據你想了解的分類來查看相對應的使用成本。

思想科技 Master Concept

Leave Us Your Message.
We are ready to talk!

歡迎您與我們聯絡。
我們會協助您取得最佳解決方案!

歡迎您與我們聯絡。
我們會協助您取得最佳解決方案!

Leave Us Your Message.
We are ready to talk!

找不到您需要的? 加入我們的最新活動!

搶先了解
新趨勢