Выполните запрос к набору данных, используя функции подсчета мест.

Функции подсчета мест — это предопределенные SQL-запросы, которые выполняются в BigQuery и дополняют прямой запрос к набору данных . Основное отличие прямого запроса к данным от использования функции заключается в том, что функции не устанавливают минимальный пороговый уровень подсчета , а вместо этого устанавливают минимальную область поиска :

  • Запросы к наборам данных могут возвращать значения не менее 5, но не накладывают ограничений на размер области поиска.
  • Функции подсчета мест могут возвращать любые значения, включая 0, но при этом устанавливают минимальную зону поиска в 40,0 на 40,0 метров (1600 м² ). Функции также могут возвращать идентификаторы мест (Place ID ), которые можно использовать для поиска информации об отдельных местах.

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

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

Поддерживаемые функции подсчета мест и страны

Places Insights поддерживает следующие функции:

  • PLACES_COUNT : Возвращает одну строку, содержащую количество мест.
  • PLACES_COUNT_PER_TYPE : Возвращает таблицу BigQuery с количеством мест по типам.
  • PLACES_COUNT_PER_GEO : Возвращает таблицу BigQuery с количеством мест по географическим регионам.
  • PLACES_COUNT_PER_H3 : Возвращает таблицу BigQuery с количеством мест в каждой ячейке H3.

Помимо подсчета мест, функции PLACES_COUNT_PER_TYPE , PLACES_COUNT_PER_GEO и PLACES_COUNT_PER_H3 также возвращают до 250 идентификаторов мест для каждого элемента ответа. См. все параметры фильтра .

Идентификаторы мест можно использовать со следующими элементами:

Пишите запросы с использованием функций.

Для вызова функций используйте следующий формат: [project name (optional)].[table name].[function name] .

Если вы изменили имя связанного набора данных при настройке Places Insights, используйте свое пользовательское имя вместо имен таблиц по умолчанию, указанных в разделе «Функции подсчета мест в BigQuery» . Вы также можете дополнительно указать название своего проекта. Если оно не указано, запрос по умолчанию будет использовать название активного проекта.

Например:

PROJECT_NAME.places_insights___us.PLACES_COUNT

Используйте JSON_OBJECT для передачи аргументов функции.

Отфильтруйте результаты

Функции подсчета мест поддерживают множество фильтров для уточнения поиска. Эти параметры (например, price_level или types ) чувствительны к регистру и должны точно совпадать с именами параметров. Полный список параметров см. в справочнике по параметрам фильтра .

В следующем примере вы применяете фильтры, чтобы ограничить поиск по минимальному пользовательскому рейтингу, уровню цен, статусу заведения и тому, разрешает ли ресторан посещение с собаками:

SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'min_rating', 1.3,
      'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'],
      'allows_dogs', TRUE
      )
) as count;

Пример использования функции подсчета мест

В следующем примере функция PLACES_COUNT возвращает количество действующих ресторанов в радиусе 1000 метров от Эмпайр-стейт-билдинг в Нью-Йорке:

SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"]
      )
) as count;

Ответ содержит одно значение:

Результаты поиска по запросу «Places Count» в Нью-Йорке.

В этом примере используется функция BigQuery ST_GEOGPOINT для возврата значения GEOGRAPHY из точки, а затем это значение передается параметру geography . Также передается радиус поиска вокруг точки и тип места для поиска — "restaurant" .

Пример подсчета мест по типу, географическому признаку или заголовку H3.

Помимо подсчета мест, функции PLACES_COUNT_PER_TYPE , PLACES_COUNT_PER_GEO и PLACES_COUNT_PER_H3 также возвращают до 250 идентификаторов мест, включенных в ответ.

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

Следующий вызов функции возвращает количество мест, относящихся к следующим типам: restaurant , cafe и bar :

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'types', ["restaurant", "cafe", "bar"],
      'business_status', ['OPERATIONAL']
      )
);

Эта функция возвращает таблицу с тремя столбцами: type , count и sample_place_ids . Столбец count показывает количество мест каждого type , а столбец sample_place_ids — до 250 идентификаторов мест для каждого type .

Результаты поиска по запросу «Функция подсчета количества мест в Нью-Йорке».

Визуализация результатов

Инструменты анализа и бизнес-аналитики имеют решающее значение для извлечения ценных выводов из данных BigQuery. BigQuery поддерживает несколько инструментов визуализации данных от Google и сторонних разработчиков, которые можно использовать для анализа результатов работы ваших функций на основе данных Places Insights.

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

Ограничения и требования

Функции подсчета мест имеют следующие ограничения и требования:

  • Поддерживаются только данные, полученные COUNT .
  • Требуется минимальная зона поиска размером 40,0 метров на 40,0 метров (1600 м² ).
  • Размер входного параметра подсчета функций ограничен 1 МБ.
  • Фильтрация по идентификатору места, маркам, вариантам зарядки электромобилей или компонентам адреса не поддерживается.
  • Вы можете использовать функции подсчета мест только для тех городов и стран, на которые у вас оформлена подписка. См. раздел «Настройка Places Insights» для получения информации о доступе к наборам данных.
  • Параметры фильтра (например, geography или types ) чувствительны к регистру и должны точно совпадать с именами параметров, иначе запрос завершится ошибкой.

Функция подсчета мест в BigQuery

Все города в представленном наборе данных, а также полный набор данных по странам поддерживают функции подсчета мест.

Вам доступны функции подсчета мест, соответствующие наборам данных о городах и странах, на которые вы подписаны. См. раздел «Настройка Places Insights» для получения информации о доступе к наборам данных.

В этих таблицах перечислены доступные города, страны и соответствующие им названия таблиц.

Пример данных

Город, Страна Названия таблиц
Буэнос-Айрес, Аргентина places_insights___ar___sample. FUNCTION_NAME
Сидней, Австралия places_insights___au___sample. FUNCTION_NAME
Бад-Гастайн, Австрия places_insights___at___sample. FUNCTION_NAME
Риффа, Бахрейн places_insights___bh___sample. FUNCTION_NAME
Брюссель, Бельгия places_insights___be___sample. FUNCTION_NAME
Сан-Паулу, Бразилия places_insights___br___sample. FUNCTION_NAME
Пловдив, Болгария places_insights___bg___sample. FUNCTION_NAME
Торонто, Канада places_insights___ca___sample. FUNCTION_NAME
Сантьяго, Чили places_insights___cl___sample. FUNCTION_NAME
Медельин, Колумбия places_insights___co___sample. FUNCTION_NAME
Брно, Чехия places_insights___cz___sample. FUNCTION_NAME
Копенгаген, Дания places_insights___dk___sample. FUNCTION_NAME
Каир, Египет places_insights___eg___sample. FUNCTION_NAME
Хельсинки, Финляндия places_insights___fi___sample. FUNCTION_NAME
Париж, Франция places_insights___fr___sample. FUNCTION_NAME
Берлин, Германия places_insights___de___sample. FUNCTION_NAME
Афины, Греция places_insights___gr___sample. FUNCTION_NAME
Гонконг, Гонконг places_insights___hk___sample. FUNCTION_NAME
Дебрецен, Венгрия places_insights___hu___sample. FUNCTION_NAME
Мумбаи, Индия places_insights___in___sample. FUNCTION_NAME
Джакарта, Индонезия places_insights___id___sample. FUNCTION_NAME
Корк, Ирландия places_insights___ie___sample. FUNCTION_NAME
Тель-Авив-Яффо, Израиль places_insights___il___sample. FUNCTION_NAME
Рим, Италия places_insights___it___sample. FUNCTION_NAME
Токио, Япония places_insights___jp___sample. FUNCTION_NAME
Пусан, Южная Корея places_insights___kr___sample. FUNCTION_NAME
Куала-Лумпур, Малайзия places_insights___my___sample. FUNCTION_NAME
Мехико, Мексика places_insights___mx___sample. FUNCTION_NAME
Амстердам, Нидерланды places_insights___nl___sample. FUNCTION_NAME
Веллингтон, Новая Зеландия places_insights___nz___sample. FUNCTION_NAME
Осло, Норвегия places_insights___no___sample. FUNCTION_NAME
Арекипа, Перу places_insights___pe___sample. FUNCTION_NAME
Манила, Филиппины places_insights___ph___sample. FUNCTION_NAME
Варшава, Польша places_insights___pl___sample. FUNCTION_NAME
Лиссабон, Португалия places_insights___pt___sample. FUNCTION_NAME
Лусаил, Катар places_insights___qa___sample. FUNCTION_NAME
Бухарест, Румыния places_insights___ro___sample. FUNCTION_NAME
Джидда, Саудовская Аравия places_insights___sa___sample. FUNCTION_NAME
Сингапур, Сингапур places_insights___sg___sample. FUNCTION_NAME
Йоханнесбург, Южная Африка places_insights___za___sample. FUNCTION_NAME
Мадрид, Испания places_insights___es___sample. FUNCTION_NAME
Стокгольм, Швеция places_insights___se___sample. FUNCTION_NAME
Цюрих, Швейцария places_insights___ch___sample. FUNCTION_NAME
Тайбэй, Тайвань places_insights___tw___sample. FUNCTION_NAME
Чиангмай, Таиланд places_insights___th___sample. FUNCTION_NAME
Анкара, Турция places_insights___tr___sample. FUNCTION_NAME
Шарджа, Объединенные Арабские Эмираты places_insights___ae___sample. FUNCTION_NAME
Лондон, Соединенное Королевство places_insights___gb___sample. FUNCTION_NAME
Нью-Йорк, США places_insights___us___sample. FUNCTION_NAME
Ханой, Вьетнам places_insights___vn___sample. FUNCTION_NAME

Полные данные

Страна Названия таблиц
Аргентина places_insights___ar. FUNCTION_NAME
Австралия places_insights___au. FUNCTION_NAME
Австрия places_insights___at. FUNCTION_NAME
Бахрейн places_insights___bh. FUNCTION_NAME
Бельгия places_insights___be. FUNCTION_NAME
Бразилия places_insights___br. FUNCTION_NAME
Болгария places_insights___bg. FUNCTION_NAME
Канада places_insights___ca. FUNCTION_NAME
Чили places_insights___cl. FUNCTION_NAME
Колумбия places_insights___co. FUNCTION_NAME
Чехия places_insights___cz. FUNCTION_NAME
Дания places_insights___dk. FUNCTION_NAME
Египет places_insights___eg. FUNCTION_NAME
Финляндия places_insights___fi. FUNCTION_NAME
Франция places_insights___fr. FUNCTION_NAME
Германия places_insights___de. FUNCTION_NAME
Греция places_insights___gr. FUNCTION_NAME
Гонконг places_insights___hk. FUNCTION_NAME
Венгрия places_insights___hu. FUNCTION_NAME
Индия places_insights___in. FUNCTION_NAME
Индонезия places_insights___id. FUNCTION_NAME
Ирландия places_insights___ie. FUNCTION_NAME
Израиль places_insights___il. FUNCTION_NAME
Италия places_insights___it. FUNCTION_NAME
Япония places_insights___jp. FUNCTION_NAME
Малайзия places_insights___my. FUNCTION_NAME
Мексика places_insights___mx. FUNCTION_NAME
Нидерланды places_insights___nl. FUNCTION_NAME
Новая Зеландия places_insights___nz. FUNCTION_NAME
Норвегия places_insights___no. FUNCTION_NAME
Перу places_insights___pe. FUNCTION_NAME
Филиппины places_insights___ph. FUNCTION_NAME
Польша places_insights___pl. FUNCTION_NAME
Португалия places_insights___pt. FUNCTION_NAME
Катар places_insights___qa. FUNCTION_NAME
Румыния places_insights___ro. FUNCTION_NAME
Саудовская Аравия places_insights___sa. FUNCTION_NAME
Сингапур places_insights___sg. FUNCTION_NAME
ЮАР places_insights___za. FUNCTION_NAME
Южная Корея places_insights___kr. FUNCTION_NAME
Испания places_insights___es. FUNCTION_NAME
Швеция places_insights___se. FUNCTION_NAME
Швейцария places_insights___ch. FUNCTION_NAME
Тайвань places_insights___tw. FUNCTION_NAME
Таиланд places_insights___th. FUNCTION_NAME
Турция places_insights___tr. FUNCTION_NAME
Объединенные Арабские Эмираты places_insights___ae. FUNCTION_NAME
Великобритания places_insights___gb. FUNCTION_NAME
Соединенные Штаты places_insights___us. FUNCTION_NAME
Вьетнам places_insights___vn. FUNCTION_NAME