Запрос количества точек интереса по H3

Функция 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-фильтры

Схема выходной таблицы

Функция возвращает таблицу 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;

Формат ответа

Запрос выдает построчную таблицу, в которой ячейки напрямую сопоставляются с пространственными значениями:

Результаты BigQuery для запроса H3.

Пример: Подсчет количества мест в ячейке 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:

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

    Стандартный отчет в Looker Studio.

  4. Выделите все элементы на странице и удалите их.

  5. Чтобы добавить заполненную карту в отчет, нажмите «Вставка» -> «Заполненная карта» .

  6. В разделе «Типы диаграмм» -> «Настройка» настройте поля, как показано ниже:

    Настройка тепловой карты в Looker Studio.

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

Для получения дополнительной информации о визуализации результатов Places Insights см. раздел «Визуализация результатов запроса» .