PLACES_COUNT_PER_H3 函式會將搜尋點 (POI) 資料匯總至指定解析度的標準化 H3 空間網格儲存格。如要分析區域密度、繪製競爭地圖,以及生成六角形等值線圖熱視圖,建議使用這項函式。
如要呼叫 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 儲存格解析度等級 (支援的值範圍為0至11)。
選用 JSON 篩選器
- 其他參數,例如
types、business_status、price_level和min_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 單元的地點數量
以下範例使用 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,請按照下列步驟操作:
- 在 BigQuery 執行上述函式,即可生成結果。
- 在 BigQuery 結果窗格中,依序點選「開啟方式」->「Looker Studio」。結果會自動匯入 Looker Studio。
Looker Studio 會建立預設報表頁面,並以結果的標題、表格和長條圖初始化。

選取頁面上的所有內容並刪除。
依序點選「插入」->「區域分布圖」,在報表中加入區域分布圖。
在「圖表類型」->「設定」下方,設定下列欄位:

填色地圖會如上圖所示。您可以視需要選取「Chart types」(圖表類型) ->「Style」(樣式),進一步設定地圖外觀。
如要進一步瞭解如何以圖表呈現 Places Insights 結果,請參閱「以圖表呈現查詢結果」。
範例:使用特定篩選條件,依 H3 儲存格查詢歷來搜尋點數量
這個範例示範如何使用 snapshot_date 篩選器,查詢特定快照月份中 H3 空間網格的歷來 POI 數量。這項查詢會使用位置周圍的緩衝區定義地理搜尋區域,並使用 max_ev_charge_connector_count 和特定 regular_opening_hours,套用電動車充電樁連接器數量的額外條件。
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')] ) ) );