PLACES_COUNT_PER_GEO 関数

PLACES_COUNT_PER_GEO 関数は、検索する地域の配列を受け取り、地域ごとの場所の数の表を返します。たとえば、検索エリアとして郵便番号の配列を指定すると、レスポンスには各郵便番号の個別の行を含むテーブルが含まれます。

PLACES_COUNT_PER_GEO 関数はテーブルを返すため、FROM 句を使用して呼び出します。

  • 入力パラメータ:

    • 必須: 検索エリアを指定する geographies フィルタ パラメータgeographies パラメータは、BigQuery の GEOGRAPHY データ型で定義された値の配列を受け取ります。このデータ型は、ポイント、ラインストリング、ポリゴンをサポートしています。

    • 省略可: 検索を絞り込むための追加のフィルタ パラメータ。

  • 戻り値:

  • 地域ごとに 1 行のテーブル。このテーブルには、geographyGEOGRAPHY)、countINT64)、sample_place_idsARRAY<STRING>)の列が含まれています。sample_place_ids には、各地域エリアのプレイス ID が最大 250 個含まれています。

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

この例では、ニューヨーク市の郡ごとの営業中のレストランの数のテーブルを生成します。

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

この例では、BigQuery の ST_SIMPLIFY 関数を使用して、county_geom の簡略版を返します。ST_SIMPLIFY 関数は、ほぼ真っ直ぐなエッジのチェーンを 1 つの長いエッジに置き換えます。

DECLARE geos ARRAY<GEOGRAPHY>;

SET geos = (SELECT ARRAY_AGG(ST_SIMPLIFY(county_geom, 100))
            FROM `bigquery-public-data.geo_us_boundaries.counties`
            WHERE county_name IN ("Queens","Kings", "New York") AND state_fips_code = "36");

SELECT * FROM `maps-platform-analytics-hub.sample_places_insights_us.PLACES_COUNT_PER_GEO`(
  JSON_OBJECT(
      'geographies', geos,
      'types', ["restaurant"],
      'business_status', ["OPERATIONAL"]
      )
);

関数のレスポンス:

ニューヨーク市の郡でフィルタリングした結果。

結果を可視化する

次の図は、このデータを Looker Studio で塗り分け地図として表示したものです。各郡の境界線も表示されています。

ニューヨーク市で車椅子でアクセスできるコンビニエンス ストアと食料品店をフィルタリングするための塗りつぶし地図。

Looker Studio にデータをインポートするには:

  1. 上記の関数を実行して結果を生成します。

  2. BigQuery の結果で、[次で開く] -> [Looker Studio] をクリックします。結果は Looker Studio に自動的にインポートされます。

  3. Looker Studio はデフォルトのレポートページを作成し、タイトル、表、結果の棒グラフで初期化します。

    Looker Studio のデフォルトのレポート。

  4. ページ上のすべてを選択して削除します。

  5. [挿入 -> 塗り分け地図] をクリックして、レポートに塗り分け地図を追加します。

  6. [グラフの種類 -> 設定] で、次の図に示すようにフィールドを構成します。

    Looker Studio でのヒートマップの設定。

  7. 塗りつぶし地図は上記のように表示されます。必要に応じて、[グラフの種類 -> スタイル] を選択して、地図の外観をさらに構成できます。

Places Insights の結果を可視化する方法と例については、クエリ結果を可視化するをご覧ください。