地点统计函数是在 BigQuery 中运行的预定义 SQL 查询,可用于直接查询数据集。直接查询数据与使用函数之间的主要区别在于,函数不会强制执行最低计数阈值,而是强制执行最小搜索区域:
- 地点数据集查询只能返回 5 个及以上的计数,但对搜索区域的大小没有任何限制。
- Places Count 函数可以返回任何数量(包括 0),但会强制执行 40.0 米 x 40.0 米(1600 平方米)的最小搜索区域。函数还可以返回地点 ID,该 ID 可用于查找有关各个地点的信息。
如果您需要了解查询何时未返回任何结果,或者需要了解低于 5 的低地点数,则可能需要使用地点数函数。如果您需要获取各个地点的信息以抽查结果,此方法也很有用。
地点数量函数仅提供数量,因此如果您需要执行更复杂的查询(例如数据联接),或者获取其他数据洞见(例如一组地点的平均评分),请直接查询数据集。
支持的 Places Count 函数和国家/地区
地点数据分析支持以下功能:
-
PLACES_COUNT_V2:返回一个包含地点数量和示例地点 ID 的表。此函数接受用于多地理位置输入的表格参数,从而实现高效的批量处理。与PLACES_COUNT和PLACES_COUNT_PER_GEO函数相比,它针对地理空间联接进行了高度优化。 -
PLACES_COUNT_PER_TYPE_V2:返回一个表格,其中包含按地点类型分类的地点数量和示例地点 ID。与PLACES_COUNT_V2类似,此函数接受一个表格形参,以同时处理多个输入地理位置。此架构支持高效的批处理,并提供优于PLACES_COUNT_PER_TYPE的地理空间联接。 PLACES_COUNT_PER_H3:返回每个 H3 单元格的地点数量的 BigQuery 表。PLACES_COUNT:返回包含地点数量的单行。PLACES_COUNT_PER_TYPE:返回一个 BigQuery 表,其中包含每种地点类型的地点数量。PLACES_COUNT_PER_GEO:返回每个地理位置的地点数量的 BigQuery 表。
除了地点数量之外,所有函数(PLACES_COUNT 除外)还会针对响应的每个元素返回最多 250 个地点 ID。
地点 ID 可用于:
使用函数编写查询
请使用以下格式调用函数:[project name
(optional)].[table name].[function name]。
如果您在设置地点数据分析时更改了关联数据集名称,请使用您的自定义名称,而不是在 BigQuery 中引用地点计数函数中列出的默认表名称。您还可以选择性地添加项目名称。如果未包含,则查询将默认为有效项目。
例如:
PROJECT_NAME.places_insights___us.PLACES_COUNT
使用 JSON_OBJECT 将实参传递给函数。
过滤结果
Places Count 函数支持多种过滤条件,可用于优化搜索。这些参数(例如 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 );
接下来,使用表和包含过滤条件的 JSON 对象调用 PLACES_COUNT_V2。搜索半径包含在 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 函数示例
以下示例将 PLACES_COUNT_V2 函数与自定义输入地理位置表 my_search_area 搭配使用,以返回纽约市帝国大厦和时代广场 1,000 米范围内的营业餐厅数量:
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、地理位置、数量和地点 ID 示例。

直观呈现结果
分析和商业智能工具对于帮助您从 BigQuery 数据中发现数据洞见至关重要。BigQuery 支持多种 Google 和第三方数据可视化工具,您可以使用这些工具来分析地点数据分析数据上函数的结果。
如需查看可视化函数结果的示例,请参阅可视化结果。 如需详细了解如何直观呈现地点数据分析结果并查看相关示例,请参阅直观呈现查询结果。
限制和要求
地点数函数具有以下限制和要求:
- 仅支持
COUNT个数据洞见。 - 搜索区域的最小面积为 40.0 米 x 40.0 米(1600 平方米)。
- 参数输入大小限制:作为参数传递给函数的 JSON 对象的大小上限为 1 MB。此限制的影响取决于函数版本:
- 对于 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 对象,包括所有地理位置定义。这可能会限制单次调用中可处理的地理位置数量。
- 对于
- 不支持按地点 ID、品牌、电动汽车充电选项或地址组成部分进行过滤。
- 您只能访问已订阅的城市和国家/地区的“地点数量”函数。如需了解如何获取数据集访问权限,请参阅设置地点数据分析。
- 过滤参数(例如
geography或types)区分大小写,必须与参数名称完全一致,否则查询将失败。
参考 BigQuery 中的 Places Count 函数
示例数据集中的所有城市以及完整数据集中的所有国家/地区都支持“地点数量”函数。
您可以访问与您订阅的城市和国家/地区数据集对应的地点数量函数。如需了解数据集访问权限,请参阅设置 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 |