依 H3 查詢搜尋點數量

PLACES_COUNT_PER_H3 函式會將興趣點 (POI) 資料匯總到指定解析度的標準化 H3 空間格狀單元。建議您使用這項函式進行區域密度分析、競爭對應,以及產生六邊形 choropleth 熱視圖。

如要呼叫 PLACES_COUNT_PER_H3 函式,請使用 SQL FROM 子句,因為該函式會傳回資料表。

語法和參數

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_H3`(
  filters
)

參數

  • PROJECT_NAME:Google Cloud 專案的名稱。如未指定專案名稱,查詢會預設為使用中的專案。
  • LINKED_DATASET_NAME:您訂閱的 Places Insights 資料集名稱 (例如 places_insights___us)。
  • filters (JSON): 使用 JSON_OBJECT 建構的 JSON 物件,內含鍵值篩選器參數。

必要 JSON 篩選器

  • geography (GEOGRAPHY): 要建立索引的搜尋範圍 (點、線串或多邊形)。
  • h3_resolution (INTEGER):H3 儲存格解析度層級 (支援的值範圍為 011)。

選用 JSON 篩選條件

  • 其他參數 (例如 typesbusiness_statusprice_levelmin_rating) 可用於篩選每個儲存格中計算的地點。請參閱篩選器參數的完整清單

輸出資料表結構定義

函式會傳回 BigQuery 資料表,其中每個資料列都代表與目標幾何圖形相交的 H3 儲存格索引:

資料欄名稱 資料類型 說明
h3_cell_index STRING 儲存格的專屬 H3 索引 ID。
geography GEOGRAPHY 代表 H3 儲存格實體邊界的多邊形。
count INTEGER 這個特定 H3 格子內相符的營運地點總數,如果沒有相符的地點,則為零。
sample_place_ids ARRAY<STRING> 這個儲存格內最多 250 個地點 ID 的陣列,可使用 Places API 直接查詢實際情況。

使用 PLACES_COUNT_PER_H3 匯總區域搜尋點密度

函式會處理篩選器中指定的地理範圍,找出目標解析度下所有相交的 H3 六邊形,並傳回每個六邊形的確切地點數量和地點 ID。

範例:計算紐約州境內可供輪椅通行的雜貨店和便利商店

這項查詢會使用 H3 解析度層級 8,匯總紐約州的營運、無障礙便利商店和雜貨店。紐約州的邊界幾何圖形是從 bigquery-public-data.geo_us_boundaries.states 公開資料集動態查詢而來。

-- Query POI count per H3 cell intersecting the New York State polygon boundary
SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', (
        -- Dynamically retrieve the boundary geography for New York State
        SELECT state_geom
        FROM `bigquery-public-data.geo_us_boundaries.states`
        WHERE state = 'NY'
        LIMIT 1
      ),
      'types', ['grocery_store', 'convenience_store'],
      'business_status', ['OPERATIONAL'],
      'h3_resolution', 8,
      'wheelchair_accessible_entrance', TRUE
  )
)
ORDER BY count DESC;

回覆格式

查詢會產生資料表,將儲存格直接對應至空間計數:

H3 查詢的 BigQuery 結果。

範例:依品牌篩選,計算每個 H3 格子中的地點數量

以下範例使用 brand_ids 篩選器,擷取特定品牌 (例如 Starbucks "1413758728321880760" 和 Dunkin "1314981297593671295") 的地點數量和地點 ID 樣本:

DECLARE geo GEOGRAPHY;

-- Get the geography for New York City.
SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area`
  WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York'  LIMIT 1);

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', geo,
      'h3_resolution', 8,
      'brand_ids', ["1413758728321880760", "1314981297593671295"],
      'business_status', ['OPERATIONAL']
    )
);

在 Looker Studio 中動態呈現 H3 結果

下圖顯示 Looker Studio 中以填滿地圖呈現的 PLACES_COUNT_PER_H3 資料。H3 格越深,結果密度越高:

已填滿地圖:篩選紐約市的無障礙便利商店和雜貨店。

如要將資料匯入 Looker Studio,請按照下列步驟操作:

  1. 在 BigQuery 中執行上述函式,即可產生結果。
  2. 在 BigQuery 結果窗格中,依序點選「開啟方式」->「Looker Studio」。系統會自動將結果匯入 Looker Studio。
  3. Looker Studio 會建立預設報表頁面,並以結果的標題、表格和長條圖初始化。

    Looker Studio 中的預設報表。

  4. 選取網頁上的所有內容並刪除。

  5. 按一下「插入」->「填滿地圖」,即可在報表中加入填滿地圖。

  6. 在「圖表類型 -> 設定」下方,按照下圖設定欄位:

    在 Looker Studio 中設定熱度圖。

  7. 填滿的地圖會如上所示。您可以視需要選取「圖表類型」->「樣式」,進一步設定地圖外觀。

如要進一步瞭解如何以圖表呈現 Places Insights 結果,請參閱以圖表呈現查詢結果

範例:使用特定篩選條件,依 H3 儲存格查詢過往的搜尋點數量

這個範例說明如何使用 snapshot_date 篩選條件,查詢特定快照月份的 H3 空間格網格中,歷來 POI 數量。這項功能會使用位置周圍的緩衝區定義地理搜尋區域,並透過特定 regular_opening_hours 搭配 max_ev_charge_connector_count,套用電動車充電接頭數量的額外條件。

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
    'geography', ST_BUFFER(ST_GEOGPOINT(-74.0060, 40.7128), 5000), -- 5km radius around NYC
    'h3_resolution', 8,
    'business_status', ['OPERATIONAL'],
    'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM)
    'max_ev_charge_connector_count', 3, -- Maximum connector count
    'regular_opening_hours', JSON_OBJECT(
      'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')]
    )
  )
);