位置计数函数是查询 Places Insights 中提供的 Places 数据的另一种方式。这些函数是在 BigQuery 中运行的预定义 SQL 查询,可与地点数据查询互补。主要区别在于,函数不会强制执行最小计数阈值,而是强制执行最小搜索区域:
地点数据集查询只能返回大于 5 的数量,但对搜索区域的大小没有任何限制。
地点数量函数可以返回任何数量(包括 0),但会强制执行 40.0 米 x 40.0 米(1600 平方米)的最小搜索面积。2
如果您需要了解查询何时未返回任何结果,或者需要了解低于 5 的低地点数,则可能需要使用地点数函数。例如,能够返回低数量对于选址用例非常重要。
支持的地点数量函数和国家/地区
Places Insights 支持以下功能:
PLACES_COUNT
:返回包含地点数量的单行。PLACES_COUNT_PER_TYPE
:返回一个 BigQuery 表,其中包含每种地点类型的地点数量。PLACES_COUNT_PER_GEO
:返回一个 BigQuery 表,其中包含每个地理位置的地点数量。PLACES_COUNT_PER_H3
:返回每个 H3 单元格的地点数量的 BigQuery 表。
除了地点数量之外,PLACES_COUNT_PER_TYPE
、PLACES_COUNT_PER_GEO
和 PLACES_COUNT_PER_H3
函数还会针对响应的每个元素返回最多 250 个地点 ID。
与地点数据集类似,地点计数函数适用于每个受支持国家/地区的热门城市。例如,对于澳大利亚,您可以访问澳大利亚悉尼的地点数量函数。
如需查看受支持的城市和国家/地区的完整列表,请参阅 BigQuery 中的位置计数函数参考。
地点数量函数示例
以下示例使用 PLACES_COUNT
函数返回纽约市帝国大厦 1,000 米范围内的营业餐厅数量:
SELECT `maps-platform-analytics-hub.sample_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;
响应包含一个计数:
在此示例中,SELECT
语句使用以下语法引用了美国的 PLACES_COUNT
函数:
maps-platform-analytics-hub.sample_places_insights_us.PLACES_COUNT
如需查看受支持的城市和国家/地区的完整列表,请参阅 BigQuery 中的参考地点计数函数。
使用 JSON_OBJECT
将实参传递给函数。此示例使用 BigQuery ST_GEOGPOINT
函数从点返回 GEOGRAPHY
值,然后将该值传递给 geography
参数。它还会传递点周围的搜索半径和要搜索的地点类型 "restaurant"
。
按类型、地理位置或 H3 划分的地点数量示例
除了地点数量之外,PLACES_COUNT_PER_TYPE
、PLACES_COUNT_PER_GEO
和 PLACES_COUNT_PER_H3
函数还会返回响应中包含的最多 250 个地点的地点 ID。
例如,PLACES_COUNT_PER_TYPE
函数会返回一个表格,其中包含每种地点类型的地点数量。响应中包含一个地点 ID 数组,其中列出了与每种类型匹配的地点。您可以使用返回的地点 ID 查找有关每个地点的信息。
以下函数调用会返回类型为 restaurant
、cafe
和 bar
的地点的数量:
SELECT * FROM `maps-platform-analytics-hub.sample_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
列显示每个 type
最多 250 个地点 ID。
对函数应用过滤条件
应用过滤条件来缩小搜索范围。地点数量函数支持多种过滤条件,可用于缩小搜索范围。在下一个示例中,您将应用过滤器,按最低用户评分、价格水平、营业状态以及餐厅是否允许携带狗来限制搜索:
SELECT `maps-platform-analytics-hub.sample_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;
直观呈现结果
分析和商业智能工具对于帮助您发现 BigQuery 数据中的数据洞见至关重要。BigQuery 支持多种 Google 和第三方数据可视化工具,您可以使用这些工具来分析 Places Insights 数据上函数的结果。
如需查看可视化函数结果的示例,请参阅可视化结果。 如需详细了解如何直观呈现 Places Insights 结果,请参阅直观呈现查询结果。
限制和要求
地点数量函数存在以下限制和要求:
- 仅支持
COUNT
类数据洞见。 - 搜索区域的最小面积为 40.0 米 x 40.0 米(1600 平方米)。
- 地点函数计数参数输入大小的上限为 1 MB。
- 不支持按地点 ID 或地址组成部分进行过滤。
比较地点数量函数和地点数据集查询
下表列出了主要区别:
位置计数函数 | 放置数据集查询 | |
---|---|---|
界面 | 四种可生成 COUNT 洞见的预定义 SQL 函数:单次计数、按类型计数、按地理位置计数、按 H3 单元格计数。 |
使用 SQL 运行 COUNT, COUNT_IF, SUM 和 AVG. 等聚合函数。您还可以使用 JOIN, GROUP BY, WHERE 等函数生成更多数据洞见。 |
限制 | 强制执行 40.0 米 x 40.0 米(1600 平方米)的最小搜索区域。即使汇总计数小于 5,只要满足最小搜索面积,函数也会返回结果。 | 强制执行 5 的数量阈值,但不设置最小搜索面积。 |
支持的属性过滤条件 | 支持完整架构,但以下情况除外:
|
支持完整架构 |
优势 |
|
|
参考 BigQuery 中的地点计数函数
地点数量函数支持以下城市和国家/地区。您必须分别订阅每个城市和国家/地区。
国家/地区,城市 | 表名称 |
---|---|
澳大利亚悉尼 | maps-platform-analytics-hub.sample_places_insights_au.FUNCTION_NAME |
巴西圣保罗 | maps-platform-analytics-hub.sample_places_insights_br.FUNCTION_NAME |
加拿大多伦多 | maps-platform-analytics-hub.sample_places_insights_ca.FUNCTION_NAME |
法国巴黎 | maps-platform-analytics-hub.sample_places_insights_fr.FUNCTION_NAME |
德国柏林 | maps-platform-analytics-hub.sample_places_insights_de.FUNCTION_NAME |
英国伦敦 | maps-platform-analytics-hub.sample_places_insights_gb.FUNCTION_NAME |
印度孟买 | maps-platform-analytics-hub.sample_places_insights_in.FUNCTION_NAME |
印度尼西亚雅加达 | maps-platform-analytics-hub.sample_places_insights_id.FUNCTION_NAME |
意大利罗马 | maps-platform-analytics-hub.sample_places_insights_it.FUNCTION_NAME |
日本东京 | maps-platform-analytics-hub.sample_places_insights_jp.FUNCTION_NAME |
墨西哥的墨西哥城 | maps-platform-analytics-hub.sample_places_insights_mx.FUNCTION_NAME |
西班牙马德里 | maps-platform-analytics-hub.sample_places_insights_es.FUNCTION_NAME |
瑞士苏黎世 | maps-platform-analytics-hub.sample_places_insights_ch.FUNCTION_NAME |
美国纽约市 | maps-platform-analytics-hub.sample_places_insights_us.FUNCTION_NAME |