地点数量函数概览

位置计数函数是查询 Places Insights 中提供的 Places 数据的另一种方式。这些函数是在 BigQuery 中运行的预定义 SQL 查询,可与地点数据查询互补。主要区别在于,函数不会强制执行最小计数阈值,而是强制执行最小搜索区域

  • 地点数据集查询只能返回大于 5 的数量,但对搜索区域的大小没有任何限制。

  • 地点数量函数可以返回任何数量(包括 0),但会强制执行 40.0 米 x 40.0 米(1600 平方米)的最小搜索面积。2

如果您需要了解查询何时未返回任何结果,或者需要了解低于 5 的低地点数,则可能需要使用地点数函数。例如,能够返回低数量对于选址用例非常重要。

支持的地点数量函数和国家/地区

Places Insights 支持以下功能:

除了地点数量之外,PLACES_COUNT_PER_TYPEPLACES_COUNT_PER_GEOPLACES_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;

响应包含一个计数:

纽约市的 Place 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_TYPEPLACES_COUNT_PER_GEOPLACES_COUNT_PER_H3 函数还会返回响应中包含的最多 250 个地点的地点 ID。

例如,PLACES_COUNT_PER_TYPE 函数会返回一个表格,其中包含每种地点类型的地点数量。响应中包含一个地点 ID 数组,其中列出了与每种类型匹配的地点。您可以使用返回的地点 ID 查找有关每个地点的信息。

以下函数调用会返回类型为 restaurantcafebar 的地点的数量:

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']
      )
);

此函数会返回一个包含三列的表:typecountsample_place_idscount 列显示每个 type 的地点数量,sample_place_ids 列显示每个 type 最多 250 个地点 ID。

纽约市的 Place Count Type 函数的结果。

对函数应用过滤条件

应用过滤条件来缩小搜索范围。地点数量函数支持多种过滤条件,可用于缩小搜索范围。在下一个示例中,您将应用过滤器,按最低用户评分、价格水平、营业状态以及餐厅是否允许携带狗来限制搜索:

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, SUMAVG. 等聚合函数。您还可以使用 JOIN, GROUP BY, WHERE 等函数生成更多数据洞见。
限制 强制执行 40.0 米 x 40.0 米(1600 平方米)的最小搜索区域。即使汇总计数小于 5,只要满足最小搜索面积,函数也会返回结果。 强制执行 5 的数量阈值,但不设置最小搜索面积。
支持的属性过滤条件 支持完整架构,但以下情况除外:
  • 地点:id
  • 地址组成部分
支持完整架构
优势
  • 可以返回任何数量。
  • 经过优化,可实现高性能和低处理费用。
  • 简单易用。无需编写复杂的查询。
  • 验证输入参数并返回错误,从而更易于使用和调试。
  • 支持高级过滤和联接等复杂查询。
  • 不强制执行最小搜索区域。
  • 支持除 COUNT 之外的其他聚合函数,例如 AVGSUMGROUP BY

参考 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