Функции подсчета мест — это предопределенные SQL-запросы, которые выполняются в BigQuery и дополняют прямой запрос к набору данных . Основное отличие прямого запроса к данным от использования функции заключается в том, что функции не устанавливают минимальный пороговый уровень подсчета , а вместо этого устанавливают минимальную область поиска :
- Запросы к наборам данных могут возвращать значения не менее 5, но не накладывают ограничений на размер области поиска.
- Функции подсчета мест могут возвращать любые значения, включая 0, но при этом устанавливают минимальную зону поиска в 40,0 на 40,0 метров (1600 м² ). Функции также могут возвращать идентификаторы мест (Place ID ), которые можно использовать для поиска информации об отдельных местах.
Функции подсчета мест могут быть полезны, если важно знать, когда запрос не возвращает результатов, или если вам нужно знать небольшое количество мест (менее 5). Они также полезны, если вам необходимо получить информацию об отдельных местах для выборочной проверки результатов.
Функции подсчета мест предоставляют только количество мест, поэтому, если вам необходимо выполнять более сложные запросы, такие как объединение данных, или получать дополнительную информацию, например, средний рейтинг группы мест, то следует запрашивать набор данных напрямую .
Поддерживаемые функции подсчета мест и страны
Places Insights поддерживает следующие функции:
-
PLACES_COUNT_V2возвращает таблицу, содержащую количество мест и примеры идентификаторов мест. Эта функция принимает параметр таблицы для ввода данных из нескольких географических регионов, что обеспечивает эффективную пакетную обработку. Она значительно оптимизирована для геопространственных объединений по сравнению с функциямиPLACES_COUNTиPLACES_COUNT_PER_GEO. -
PLACES_COUNT_PER_TYPE_V2возвращает таблицу с количеством мест и примерами идентификаторов мест, сгруппированных по типу места. АналогичноPLACES_COUNT_V2, эта функция принимает параметр таблицы для одновременной обработки нескольких входных географических данных. Такая архитектура поддерживает эффективную пакетную обработку и обеспечивает оптимизированное геопространственное объединение по сравнению сPLACES_COUNT_PER_TYPE. -
PLACES_COUNT_PER_H3: Возвращает таблицу BigQuery с количеством мест в каждой ячейке H3. -
PLACES_COUNT: Возвращает одну строку, содержащую количество мест. -
PLACES_COUNT_PER_TYPE: Возвращает таблицу BigQuery с количеством мест по типам. -
PLACES_COUNT_PER_GEO: Возвращает таблицу BigQuery с количеством мест по географическим регионам.
Помимо подсчета мест, все функции, кроме PLACES_COUNT , также возвращают до 250 идентификаторов мест для каждого элемента ответа.
Идентификаторы мест можно использовать со следующими элементами:
- API для работы с местами (новый)
- API геокодирования
- Набор элементов пользовательского интерфейса для мест
Пишите запросы с использованием функций.
Для вызова функций используйте следующий формат: [project name (optional)].[table name].[function name] .
Если вы изменили имя связанного набора данных при настройке Places Insights, используйте свое пользовательское имя вместо имен таблиц по умолчанию, указанных в разделе «Функции подсчета мест в BigQuery» . Вы также можете дополнительно указать название своего проекта. Если оно не указано, запрос по умолчанию будет использовать название активного проекта.
Например:
PROJECT_NAME.places_insights___us.PLACES_COUNT
Используйте JSON_OBJECT для передачи аргументов функции.
Отфильтруйте результаты
Функции подсчета мест поддерживают множество фильтров для уточнения поиска. Эти параметры (например, price_level или types ) чувствительны к регистру и должны точно совпадать с именами параметров. Полный список параметров см. в справочнике по параметрам фильтра .
В следующем примере вы применяете фильтры для ограничения поиска по минимальному пользовательскому рейтингу, уровню цен, статусу заведения и тому, разрешает ли ресторан посещение с собаками, используя функцию PLACES_COUNT_V2 .
Для начала воспользуйтесь вашей исходной таблицей географических регионов или подготовьте таблицу с выбранными регионами:
-- Create a table for the input geographies CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS ( SELECT '1' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building UNION ALL SELECT '2' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square );
Далее вызовите функцию PLACES_COUNT_V2 , указав таблицу и JSON-объект, содержащий фильтры. Радиус поиска включен в JSON-фильтры и будет применяться к каждой точке в таблице my_search_areas .
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters around each point in 'geo' 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) );
Пример использования функции подсчета мест
В следующем примере используется функция PLACES_COUNT_V2 с пользовательской таблицей географических данных my_search_area для получения количества действующих ресторанов в радиусе 1000 метров от Эмпайр-стейт-билдинг и Таймс-сквер в Нью-Йорке:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) );
В ответе вы получите таблицу BigQuery, содержащую geo_id , географическое положение, количество и пример идентификаторов мест.

Визуализация результатов
Инструменты анализа и бизнес-аналитики имеют решающее значение для извлечения ценных выводов из данных BigQuery. BigQuery поддерживает несколько инструментов визуализации данных от Google и сторонних разработчиков, которые можно использовать для анализа результатов работы ваших функций на основе данных Places Insights.
Пример визуализации результатов функции см. в разделе «Визуализация результатов» . Дополнительную информацию и пример визуализации результатов Places Insights см. в разделе «Визуализация результатов запроса» .
Ограничения и требования
Функции подсчета мест имеют следующие ограничения и требования:
- Поддерживаются только данные, полученные
COUNT. - Требуется минимальная зона поиска размером 40,0 метров на 40,0 метров (1600 м² ).
- Ограничение на размер входного параметра: размер JSON-объекта, передаваемого в качестве параметра функциям, ограничен 1 МБ. Влияние этого ограничения зависит от версии функции:
- Для функций V2 (
PLACES_COUNT_V2,PLACES_COUNT_PER_TYPE_V2) это ограничение применяется только к JSON-объекту фильтров. Поскольку географические данные предоставляются отдельно с помощью табличного параметра, эти функции могут масштабироваться до гораздо большего количества входных географических данных, не достигая предела размера JSON-файла.- Для
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPEиPLACES_COUNT_PER_GEOэто ограничение распространяется на весь JSON-объект, включая все определения географических регионов. Это может ограничить количество географических регионов, которые можно обработать за один вызов.
- Для
- Фильтрация по идентификатору места, маркам, вариантам зарядки электромобилей или компонентам адреса не поддерживается.
- Вы можете использовать функции подсчета мест только для тех городов и стран, на которые у вас оформлена подписка. См. раздел «Настройка 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 |