使用地理空間數據分析繪製颶風路徑

本教學課程將介紹地理空間分析。地理空間分析功能可讓您在 BigQuery 中輕鬆分析地理空間資料,並將其視覺化。

匯出樣本資料

本教學課程使用Google Cloud 公開資料集方案提供的資料集。公開資料集是儲存在 BigQuery 中且可供一般大眾使用的任何資料集。公開資料集是在 BigQuery 託管的資料集,讓您能夠存取及整合到應用程式中。Google 為這些資料集的儲存空間付費,並透過專案提供資料的公開存取權。您只需要支付資料查詢費用 (每月前 1 TB 免費,相關規定請參閱查詢費率詳情)。

全球颶風軌跡 (IBTrACS) 資料集

全球颶風軌跡 (IBTrACS) 資料集

NOAA 的 International Best Track Archive for Climate Stewardship (IBTrACS) 提供全球熱帶氣旋 (TC) 軌跡上的歷史位置和強度。熱帶氣旋在北大西洋和東北太平洋海盆稱為颶風,在西北太平洋海盆稱為颱風,在南北印度洋海盆稱為旋風,而在西南太平洋海盆則稱之為熱帶氣旋。

IBTrACS 收集各地國際監測中心回報的 TC 資料。國際監測中心負責預測和回報 TC 資訊,也包含部分重要歷史資料集。IBTrACS 包含來自 9 個不同國家/地區的資料。歷史上,描述這些系統的資料已涵蓋了軌跡和強度的最佳預測資料 (因此有「最佳軌跡」之說)。

您可以在 Google Cloud 控制台中查看 hurricanes 資料表的詳細資料,開始探索這份資料:

前往颶風結構定義

查詢 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_50kt
    SELECT 子句會選擇風暴的全部天氣資料,然後使用 ST_GeogPoint 函式,將 latitudelongitude 資料欄中的值轉換為 GEOGRAPHY 類型 (資料點)。
  • FROM bigquery-public-data.noaa_hurricanes.hurricanes
    FROM 子句指定要查詢的資料表: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 ASC
    ORDER BY 子句對資料點進行排序,形成按時間順序排列的風暴路徑。

執行查詢

如何使用 Google Cloud 控制台執行查詢:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery 頁面

  2. 在「Query editor」(查詢編輯器) 文字區域中,輸入下列 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
  3. 按一下「執行」

    查詢需要一些時間才會完成。查詢執行完畢之後,您的結果會呈現於「Query results」(查詢結果) 窗格中。

    BigQuery 中的瑪莉亞颶風查詢結果

在 BigQuery 中以視覺化方式呈現查詢結果

如要在 BigQuery 中以圖表呈現結果,請按照下列步驟操作:

  1. 如要在 BigQuery 中以視覺化的方式呈現結果,請在「查詢結果」窗格中,按一下「視覺化」

  2. 在「資料欄」部分,選取 usa_wind

    地圖會顯示颶風隨時間移動的路徑,並以風速的色階標示。

  3. 選用:如要調整點的顯示程度,請將「最小值」設為 0,然後從「顏色」清單中選取其他顏色漸層。

在 BigQuery 中以視覺化方式呈現瑪莉亞颶風查詢結果

在 Geo Viz 中將查詢結果視覺化

您也可以使用 BigQuery Geo Viz 將查詢結果視覺化。BigQuery Geo Viz 是一個網頁工具,使用 Google Maps API 在 BigQuery 中顯示地理空間資料。

啟用 Geo Viz 並進行身分驗證

在您使用 Geo Viz 之前,您必須在 BigQuery 中對資料進行身分驗證並授予存取權。

如何設定 Geo Viz:

  1. 開啟 Geo Viz 網頁版工具。

    開啟 Geo Viz 網頁版工具

  2. 在第一步「Select data」(選取資料) 中按一下 [Authorize] (授權)

    Geo Viz 授權按鈕

  3. 在「Choose an account」(選擇帳戶) 對話方塊中,按一下您的 Google 帳戶。

    選擇帳戶對話框

  4. 在存取對話方塊中,按一下 [Allow] (允許) 以取得您 BigQuery 資料的 Geo Viz 存取權。

    允許存取 Geo Viz 對話方塊

在 Geo Viz 中執行查詢

在您進行身分驗證並授予權限後,下一步是在 Geo Viz 中執行查詢。

執行查詢:

  1. 在第一步「Select data」(選取資料) 中,於「Project ID」(專案 ID) 欄位中輸入您的專案 ID。

  2. 在查詢視窗中,輸入下列 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
  3. 按一下「執行」

  4. 查詢完成後,按一下「顯示結果」。您也可以按一下第二步的「資料」

  5. 您會進入步驟二。在步驟二的「Geometry column」中,選擇 [point]。系統即會繪製對應至瑪利亞颶風路徑的資料點。

    BigQuery Geo Viz 中的對應結果

在 Geo Viz 中設定視覺化格式

「樣式」部分會提供視覺化樣式清單以供您自訂。如要進一步瞭解樣式屬性和值,請參閱「設定資料視覺化格式」。

如要將您的地圖進行格式化,請進行以下操作:

  1. 按一下第二步中的 [Add styles],或按一下第三步的 [Style]

  2. 更換資料點的顏色。按一下 [fillColor]

  3. 在「fillColor」面板中:

    1. 按一下 [Data driven]
    2. 在「Function」(函式) 部分選擇 [linear]
    3. 在「Field」(欄位) 部分,選擇 usa_wind
    4. 針對「Domain」(領域),分別在第一個和第二個方塊中輸入 0150
    5. 針對「Range」(範圍),按一下第一個方塊,然後在「Hex」方塊中輸入 #0006ff;按一下第二個方塊,然後輸入 #ff0000。資料點的顏色就會因風速不同而改變。藍色代表風速較弱,紅色代表風速較強。

      在 BigQuery Geo Viz 中新增填滿顏色

  4. 查看您的地圖。將游標懸停在其中一個資料點上,即會顯示該點的天氣資料。

    地圖資料點的詳細資訊

  5. 按一下 [fillOpacity]

  6. 在「Value」(值) 欄位中,輸入 .5

    在 BigQuery Geo Viz 中設定地圖填滿不透明度格式

  7. 查看您的地圖。資料點的填充顏色目前為半透明。

  8. 根據颶風半徑,變更資料點的大小。按一下 [circleRadius]

  9. 在「circleRadius」面板中:

    1. 按一下「Data driven」
    2. 在「Function」(函式) 部分選擇 [linear]
    3. 在「Field」(欄位) 部分,選擇 radius_50kt
    4. 在「Domain」(領域) 部分,分別在第一個和第二個方塊中輸入 0135
    5. 在「Range」(範圍) 部分,分別在第一個和第二個方塊中輸入 5135000

      在 BigQuery Geo Viz 中新增圓形半徑

  10. 查看您的地圖。現在每個資料點的半徑都跟颶風的半徑對應。

    BigQuery Geo Viz 最終地圖

  11. 關閉 Geo Viz。