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 儲存格解析度層級 (支援的值範圍為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 會建立預設報表頁面,並以結果的標題、表格和長條圖初始化。

選取網頁上的所有內容並刪除。
按一下「插入」->「填滿地圖」,即可在報表中加入填滿地圖。
在「圖表類型 -> 設定」下方,按照下圖設定欄位:

填滿的地圖會如上所示。您可以視需要選取「圖表類型」->「樣式」,進一步設定地圖外觀。
如要進一步瞭解如何以圖表呈現 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')] ) ) );