Запрос изменений POI между месяцами (PLACES_COUNT_CHANGE)

Функция PLACES_COUNT_CHANGE вычисляет изменения в количестве мест, представляющих интерес, и извлекает примеры добавленных и удаленных идентификаторов мест между двумя конкретными месяцами в нескольких заданных географических регионах.

Подобно функции PLACES_COUNT_V2 , эта функция предназначена для эффективной пакетной обработки, принимая в качестве входного параметра таблицу с географическими регионами, что позволяет одновременно оценивать тенденции роста и коммерческие изменения во многих регионах.

Синтаксис

SELECT *
FROM
  `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_CHANGE`(
    TABLE input_geographies,
    filters
  );

Параметры

  • PROJECT_NAME : Название вашего проекта в Google Cloud.
  • LINKED_DATASET_NAME : Название набора данных BigQuery, содержащего функции Places Insights (например, places_insights___us ).
  • input_geographies : Таблица BigQuery, содержащая географические регионы для анализа. Эта таблица должна содержать следующие столбцы:
    • geo_id ( STRING ): Уникальный идентификатор для каждого географического региона.
    • geo ( GEOGRAPHY ): Объект BigQuery GEOGRAPHY, представляющий область. Это может быть точка, многоугольник или другой тип географических данных.
  • filters ( JSON ): JSON-объект, содержащий пары ключ-значение для фильтрации мест. См. Параметры фильтра . Он должен включать следующие фильтры:
    • month1 ( STRING ): Первый месяц для поиска мест.
    • month2 ( STRING ): Второй месяц для поиска мест.

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

Функция PLACES_COUNT_CHANGE возвращает таблицу со столбцами:

Название столбца Тип данных Описание
geo_id НИТЬ Идентификатор, полученный из исходных географических данных.
start_count INT64 Подсчет мест за первый месяц.
end_count INT64 Подсчет мест со второго месяца.
net_change INT64 Разница между end_count и start_count (end_count - start_count).
percentage_change FLOAT64 Процентное изменение с первого месяца по второй.
compound_monthly_growth_rate FLOAT64 Среднемесячный темп роста с первого по второй месяц.
added_count INT64 Количество идентификаторов мест, указанных в примере sample_added_place_ids.
removed_count INT64 Количество идентификаторов мест, указанных в примере sample_removed_place_ids.
sample_added_place_ids МАССИВ<СТРОКА> Список примеров идентификаторов мест, присутствующих во втором месяце, но отсутствующих в первом месяце.
sample_removed_place_ids МАССИВ<СТРОКА> Список примеров идентификаторов мест, присутствующих в первом месяце, но отсутствующих во втором месяце.

Результаты отсортированы по убыванию значений percentage_change и start_count .

Как это работает

Функция обрабатывает каждую строку в таблице input_geographies . Для каждого объекта geo она подсчитывает количество мест, попадающих в указанный географический регион (или в geography_radius если geo является точкой, а радиус указан в filters ) за два месяца, указанных в month1 и month2 в filters . Используя эти места, она вычисляет другие полезные статистические данные, такие как процентное изменение и среднегодовой темп роста от первого ко второму месяцу.

В подсчет включаются только те места, которые соответствуют всем условиям, определенным в JSON-объекте filters .

Пример: Рассчитать изменения в количестве точек интереса (POI) за два месяца.

В этом примере показано, как запросить изменения количества точек интереса (POI) между двумя конкретными месяцами, используя параметры month1 и month2 , в радиусе 5000 от заданной точки геолокации.

WITH my_locations AS (
  SELECT
    'loc_1' AS geo_id,
    ST_GEOGFROMTEXT('POINT(-122.4194 37.7749)') AS geo
  -- Add more target locations as needed...
)

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_CHANGE`(
  TABLE my_locations,
  JSON_OBJECT(
    'geography_radius', 5000,
    'month1', '2026-01', -- Baseline snapshot month (YYYY-MM)
    'month2', '2026-02'  -- Comparison snapshot month (YYYY-MM)
  )
);

Анализ результатов

Запрос возвращает таблицу, содержащую строку для каждого входного географического региона.

  • Показатели роста: В выходных данных отображается базовое количество ( start_count : 89 560) и количество в сравнении ( end_count : 90 923), что дает net_change на +1363 места (+1,52% percentage_change ).
  • Проверка достоверности данных: массив sample_added_place_ids содержит список конкретных идентификаторов мест, которые стали активными во month2 (февраль 2026 г.), а sample_removed_place_ids содержит список идентификаторов мест, которые больше не существуют.
  • API-интерфейс «Мост к местам»: Вы можете передавать эти примеры идентификаторов мест напрямую в API «Подробная информация о местах» (новый), чтобы найти названия магазинов, адреса и атрибуты для недавно открывшихся или закрывшихся предприятий.

Результаты выполнения функции «Изменение количества мест».