使用 BigQuery 的地理空間分析功能,可以分析地理資料並以圖表呈現,例如繪製暴風雨隨時間變化的軌跡。您可以將原始經緯度座標轉換為地理點,查詢颶風的時間路徑,並使用整合式視覺化工具繪製結果。
目標
- 使用地理空間分析函式,將經緯度資料欄轉換為地理位置點。
- 執行查詢,繪製颶風路徑。
- 在 BigQuery 中以圖表呈現結果。
- 在 BigQuery Geo Viz 中以視覺化的方式呈現結果。
費用
BigQuery 是付費產品,您在本教學課程中會產生 BigQuery 用量。BigQuery 的部分資源在一定限度內可無須支付費用使用。詳情請參閱「BigQuery 免費作業和免費方案」。
事前準備
開始本教學課程前,請先使用 Cloud de Confiance 控制台建立或選取專案。
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
- 新專案會自動啟用 BigQuery。如要在現有專案中啟用 BigQuery,請前往
啟用 BigQuery API (如果尚未啟用)。
啟用 API 所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。 - 選用:啟用專案計費功能。如果您不想啟用計費功能或提供信用卡,仍可按照本文件中的步驟操作。BigQuery 提供沙箱,方便您執行步驟。詳情請參閱「啟用 BigQuery 沙箱」。
匯出樣本資料
本教學課程使用的資料集可透過Cloud de Confiance by S3NS 公開資料集計畫取得。公開資料集是儲存在 BigQuery 中且可供一般大眾使用的任何資料集。公開資料集是在 BigQuery 託管的資料集,讓您能夠存取及整合到應用程式中。Google 會支付這些資料集的儲存費用,並透過專案提供資料的公開存取權。您只需支付對資料執行的查詢費用 (每月前 1 TB 免費,詳情請參閱查詢定價)。
全球颶風軌跡 (IBTrACS) 資料集
全球熱帶氣旋 (TC) 路徑的歷來位置和強度,是由美國國家海洋暨大氣總署 (NOAA) 的 International Best Track Archive for Climate Stewardship (IBTrACS) 提供。熱帶氣旋在北大西洋和東北太平洋海盆稱為颶風,在西北太平洋海盆稱為颱風,在南北印度洋海盆稱為旋風,而在西南太平洋海盆則稱之為熱帶氣旋。
IBTrACS 收集各地國際監測中心回報的 TC 資料。國際監測中心負責預測和回報 TC 資訊,也包含部分重要歷史資料集。IBTrACS 包含 9 個不同國家/地區的資料。歷史上,描述這些系統的資料已涵蓋了軌跡和強度的最佳預測資料 (因此有「最佳軌跡」之說)。
您可以查看 hurricanes 資料表的詳細資料,開始在 Cloud de Confiance 控制台探索這項資料:
查詢 2017 年瑪莉亞颶風的路徑
在本教學課程的這個部分,您將執行 GoogleSQL 查詢,找出 2017 年颶風瑪麗亞的路徑。如果要繪製該颶風的路徑,您可以查詢該颶風在不同時間點的位置。
查詢詳細資料
下列 GoogleSQL 查詢用於找出颶風瑪麗亞的路徑。
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
查詢子句會執行下列動作:
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50ktSELECT子句會選擇風暴的全部天氣資料,然後使用ST_GeogPoint函式,將latitude和longitude資料欄中的值轉換為GEOGRAPHY類型 (資料點)。
FROMbigquery-public-data.noaa_hurricanes.hurricanesFROM子句指定要查詢的資料表:hurricanes。
WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10)WHERE子句只會篩選出對應至 2017 年颶風季節中瑪利亞颶風的大西洋資料點資料。
ORDER BY iso_time ASCORDER BY子句對資料點進行排序,形成按時間順序排列的風暴路徑。
執行查詢
如要使用 Cloud de Confiance 控制台執行查詢,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「BigQuery」頁面。
在「查詢編輯器」文字區域中,輸入下列 GoogleSQL 查詢。
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
按一下「執行」。
查詢需要一些時間才會完成。查詢執行完畢之後,您的結果會呈現於「Query results」(查詢結果) 窗格中。
在 BigQuery 中以圖表呈現查詢結果
如要在 BigQuery 中以圖表呈現結果,請按照下列步驟操作:
如要在 BigQuery 中以圖表呈現結果,請在「Query results」(查詢結果) 窗格中,點選「Visualization」(圖表)。
在「資料欄」部分,選取「
usa_wind」。地圖上會顯示颶風位置隨時間變化的點,並以顏色漸層表示風速。
選用:如要調整資料點的顯示設定,請將「Min」(最小值) 設為 0,然後從「Color」(顏色) 清單中選取其他顏色漸層。
在 Geo Viz 中將查詢結果視覺化
您也可以使用 BigQuery Geo Viz 以圖表呈現結果。這項網頁工具可使用 Google Maps API,以圖表呈現 BigQuery 中的地理空間資料。
啟用 Geo Viz 並進行身分驗證
在您使用 Geo Viz 之前,您必須在 BigQuery 中對資料進行身分驗證並授予存取權。
如何設定 Geo Viz:
開啟 Geo Viz 網頁版工具。
在第一步「Select data」(選取資料) 中按一下 [Authorize] (授權)。
在「Choose an account」(選擇帳戶) 對話方塊中,按一下您的 Google 帳戶。
在存取對話方塊中,按一下 [Allow] (允許) 以取得您 BigQuery 資料的 Geo Viz 存取權。
在 Geo Viz 中執行查詢
在您進行身分驗證並授予權限後,下一步是在 Geo Viz 中執行查詢。
執行查詢:
在第一步「Select data」(選取資料) 中,於「Project ID」(專案 ID) 欄位中輸入您的專案 ID。
在查詢視窗中,輸入下列 GoogleSQL 查詢。
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
按一下「執行」。
查詢完成後,按一下「顯示結果」。您也可以點選步驟 2「Data」(資料)。
您會進入步驟二。在步驟二的「Geometry column」中,選擇 [point]。系統即會繪製對應至瑪利亞颶風路徑的資料點。
在 Geo Viz 中設定圖表格式
「樣式」部分會列出可自訂的視覺樣式。如要進一步瞭解樣式屬性和值,請參閱「設定圖表格式」。
如要將您的地圖進行格式化,請進行以下操作:
按一下第二步中的 [Add styles],或按一下第三步的 [Style]。
更換資料點的顏色。按一下 [fillColor]。
在「fillColor」面板中:
- 按一下 [Data driven]。
- 在「Function」(函式) 部分選擇 [linear]。
- 在「Field」(欄位) 部分,選擇
usa_wind。 - 針對「Domain」(領域),分別在第一個和第二個方塊中輸入
0和150。 針對「Range」(範圍),按一下第一個方塊,然後在「Hex」方塊中輸入
#0006ff;按一下第二個方塊,然後輸入#ff0000。資料點的顏色就會因風速不同而改變。藍色代表風速較弱,紅色代表風速較強。
查看您的地圖。如果將滑鼠游標懸停在其中一個點上,系統會顯示該點的天氣資料。

按一下 [fillOpacity]。
在「Value」(值) 欄位中,輸入 .5。
查看您的地圖。資料點的填充顏色目前為半透明。
根據颶風半徑,變更資料點的大小。按一下 [circleRadius]。
在「circleRadius」面板中:
- 按一下「Data driven」。
- 在「Function」(函式) 部分選擇 [linear]。
- 在「Field」(欄位) 部分,選擇
radius_50kt。 - 在「Domain」(領域) 部分,分別在第一個和第二個方塊中輸入
0和135。 在「Range」(範圍) 部分,分別在第一個和第二個方塊中輸入
5和135000。
查看您的地圖。現在每個資料點的半徑都跟颶風的半徑對應。
關閉 Geo Viz。
清除所用資源
為避免因為本教學課程所用資源,導致系統向 Google Cloud 帳戶收取費用,請刪除含有相關資源的專案,或者保留專案但刪除個別資源。
- 您可以刪除建立的專案。
- 或者您可以保留該專案以備將來使用。
如要刪除專案,請進行以下操作:
- 前往 Cloud de Confiance 控制台的「Manage resources」(管理資源) 頁面。
- 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
- 在對話方塊中輸入專案 ID,然後按一下 [Shut down] (關閉) 以刪除專案。
後續步驟
- 如要進一步瞭解如何以圖表呈現地理空間分析選項,請參閱「以圖表呈現地理空間資料」。
- 如要使用地理空間資料,請參閱「使用地理空間資料」。
- 如要進一步瞭解可在地理空間分析中使用的地理函式,請參閱「GoogleSQL 中的地理函式」。