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 功能測試使用

了解更多

相關文章

Google Meet 新版面配置全面提升線上會議體驗

Google Meet 視訊會議全新版面將在6月中全面開放!這次更新不僅簡化了 Google Meet 電腦版和筆記型電腦的版面,更是讓使用者能快速地找到控制列表,並能以更大的空間處理視訊畫面及投影內容。一起來看看改版後的功能配置有哪些變化!

低代碼浪潮再起!OutSystems與軟體開發的變革

【MC觀點】低代碼浪潮再起!OutSystems與軟體開發的變革

時至今日,企業對於低代碼的需求不斷上升,一方面是僅導入自動化和優化業務流程已不足以跟上市場環境;另一方面則是隨著業務拓展衍生出大量開發需求,進而導致大幅攀升的人力成本,相較傳統編碼,低代碼開發平台更符合現今趨勢。

思想科技 Master Concept

Leave Us Your Message.
We are ready to talk!

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

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

Leave Us Your Message.
We are ready to talk!

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

搶先了解
新趨勢