PLACES_COUNT_V2 関数

PLACES_COUNT_V2 関数は、指定されたフィルタに基づいて、複数の入力地域におけるプレイスの数とサンプル プレイス ID を含む BigQuery テーブルを返します。この関数は、地理空間の入力 テーブル パラメータ を受け入れることで効率的なバッチ処理を行うように設計されています。入力テーブルを介して地理空間を指定することで、1 つのクエリで多くの関心領域を分析できます。

構文

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`(
  TABLE input_geographies,
  filters
)

パラメータ

  • PROJECT_NAME: Google Cloud プロジェクトの名前です。
  • LINKED_DATASET_NAME: Places Insights 関数を含む BigQuery データセットの名前(例: places_insights___us)。
  • input_geographies: 分析する地理空間を含む BigQuery テーブル。このテーブルには、次の列が必要 です。
    • geo_idSTRING): 各地理空間の一意の識別子。
    • geoGEOGRAPHY): 領域を表す BigQuery GEOGRAPHY オブジェクト。ポイント、ポリゴン、その他の地理空間タイプを指定できます。
  • filtersJSON): 場所をフィルタリングするためのキーと値のペアを含む JSON オブジェクト。フィルタ パラメータをご覧ください。

出力テーブル スキーマ

PLACES_COUNT_V2 関数は、次の列を含むテーブルを返します。

列名 データ型 説明
geo_id STRING input_geographies テーブルの入力地理空間の一意の識別子。
input_geography GEOGRAPHY input_geographies テーブルの元の GEOGRAPHY オブジェクト。
place_count INTEGER フィルタに一致する場所の合計数。
sample_place_ids ARRAY<STRING> 条件に一致する最大 250 個のプレイス ID の配列。

仕組み

この関数は、input_geographies テーブルの各行を処理します。各 geo オブジェクトについて、その地理空間内(または 、geography_radius がポイントで、半径が filters に指定されている場合は )にある場所の数をカウントします。カウントには、 filters JSON オブジェクトで定義されたすべての 条件に一致する場所のみが含まれます。geo

例: ニューヨーク市の 3 つの郡のレストランの数を計算する

この例では、ニューヨーク市の 3 つの郡で営業しているレストランの数のテーブルを生成します。

この例では、米国国勢調査局 データ BigQuery 一般公開データセットを使用して、ニューヨーク市の 3 つの郡(「クイーンズ」、「キングス」、「ニュー ヨーク」)の境界を取得します。各郡の境界は county_geom 列に含まれています。

まず、各郡の geo_id と簡略化された GEOGRAPHY を保持する一時テーブル new_york_counties を作成します。

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  (
    SELECT
      county_name AS geo_id,
      ST_SIMPLIFY(county_geom, 100) AS geo
    FROM
      `bigquery-public-data.geo_us_boundaries.counties`
    WHERE
      state_fips_code = "36"  -- New York State
      AND county_name IN ("Queens", "Kings", "New York")
  ),
  JSON_OBJECT(
      'types', ["restaurant"],
      'business_status', ['OPERATIONAL']
  )
);

レスポンス テーブルには、郡ごとに 1 行ずつ、営業中のレストランの geo_idinput_geographyplace_countsample_place_ids が表示されます。

ニューヨーク州の郡における Places Count 関数の結果。

PLACES_COUNT_V2 を使用するメリット

PLACES_COUNT_V2 は、PLACES_COUNTPLACES_COUNT_PER_GEO の両方よりも大きなメリットがあります。

  • バッチ処理: テーブルに複数の地理空間入力を指定することで、1 つのクエリで数千のカスタム地理空間を効率的に分析できます。
  • パフォーマンス: BigQuery の最適化された地理空間 結合 を利用することで、大規模なデータセットで大幅な速度向上が実現します。
  • スケーラビリティ: 単一の JSON パラメータ サイズの制限なしに、多数の入力地域を処理できるように設計されています。
  • ゼロカウントを含む: PLACES_COUNT_V2 は、入力テーブルに指定されたすべての geo_id の行を返します。特定の地理空間の条件に一致する場所がない場合、place_count は 0 になります。これにより、入力エリアごとに結果が得られるため、場所がない場所を確認できます。