Функция 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-объект, созданный с помощьюJSON_OBJECT, содержащий параметры фильтра в формате ключ-значение.
Обязательные JSON-фильтры
-
geography( GEOGRAPHY ) : Ограничивающая область поиска (точка, линия или многоугольник), подлежащая индексации. -
h3_resolution(INTEGER) : Уровень разрешения ячейки H3 (поддерживаемые значения от0до11).
Дополнительные JSON-фильтры
- Дополнительные параметры, такие как
types,business_status,price_levelиmin_ratingпозволяют фильтровать места, учитываемые в каждой ячейке. Полный список параметров фильтрации см. здесь.
Схема выходной таблицы
Функция возвращает таблицу BigQuery, содержащую по одной строке на каждую ячейку H3, индекс которой пересекается с целевой геометрией:
| Название столбца | Тип данных | Описание |
|---|---|---|
h3_cell_index | НИТЬ | Уникальный идентификатор H3-индекса для ячейки. |
geography | ГЕОГРАФИЯ | Многоугольник, представляющий физическую границу ячейки H3. |
count | ЦЕЛОЕ | Точное общее количество совпадающих оперативных мест в данной ячейке H3 или ноль, если совпадений нет. |
sample_place_ids | МАССИВ<СТРОКА> | В этой ячейке находится массив, содержащий до 250 идентификаторов мест, что позволяет выполнять прямые запросы к данным с помощью API Places. |
Сводная региональная плотность точек интереса (POI) с использованием PLACES_COUNT_PER_H3
Функция обрабатывает ограничивающие географические данные, указанные в ваших фильтрах, идентифицирует все пересекающиеся шестиугольники H3 с целевым разрешением и возвращает точное количество мест и идентификаторы мест для каждого шестиугольника.
Пример: Подсчитайте количество продуктовых магазинов и магазинов товаров повседневного спроса, доступных для людей в инвалидных колясках, в штате Нью-Йорк.
Этот запрос объединяет данные о действующих магазинах шаговой доступности и продуктовых магазинах в штате Нью-Йорк, доступных для людей в инвалидных колясках, с уровнем разрешения 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" :
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'] ) );
Динамическая визуализация результатов H3 в Looker Studio.
На следующих изображениях представлены данные из таблицы PLACES_COUNT_PER_H3 отображаемые в Looker Studio в виде закрашенной карты. Чем темнее ячейка H3, тем выше концентрация результатов:

Чтобы импортировать ваши данные в Looker Studio:
- Запустите указанную выше функцию в BigQuery, чтобы получить результаты.
- В панели результатов BigQuery нажмите «Открыть в» -> «Looker Studio» . Ваши результаты будут автоматически импортированы в Looker Studio.
Looker Studio создает страницу отчета по умолчанию и инициализирует ее заголовком, таблицей и гистограммой результатов.

Выделите все элементы на странице и удалите их.
Чтобы добавить заполненную карту в отчет, нажмите «Вставка» -> «Заполненная карта» .
В разделе «Типы диаграмм» -> «Настройка» настройте поля, как показано ниже:

Заполненная карта отображается, как показано выше. При желании вы можете выбрать «Типы диаграмм» -> «Стиль», чтобы дополнительно настроить внешний вид карты.
Для получения дополнительной информации о визуализации результатов Places Insights см. раздел «Визуализация результатов запроса» .