Функции подсчета мест — это предопределенные 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 идентификаторов мест для каждого элемента ответа. См. все параметры фильтра .
Идентификаторы мест можно использовать со следующими элементами:
- API для работы с местами (новый)
- API геокодирования
- Набор элементов пользовательского интерфейса для мест
Пишите запросы с использованием функций.
Для вызова функций используйте следующий формат: [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;
Ответ содержит одно значение:

В этом примере используется функция 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 |