Places Count 関数は、BigQuery で実行される事前定義済みの SQL クエリで、データセットを直接クエリする方法を補完するものです。データを直接クエリする場合と関数を使用する場合の主な違いは、関数では最小カウントしきい値ではなく、最小検索領域が適用されることです。
- プレイス データセット クエリは 5 以上のカウントのみを返しますが、検索エリアのサイズに制限はありません。
- Places Count 関数は、0 を含む任意のカウントを返すことができますが、最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 m2)に制限されます。関数はプレイス ID を返すこともできます。これは、個々のプレイスに関する情報を検索するために使用できます。
検索結果が返されなかった場合を把握することが重要な場合や、5 未満の場所の数が少ないことを把握する必要がある場合は、場所のカウント関数を使用することをおすすめします。また、結果をスポット チェックするために個々のプレイス情報を取得する必要がある場合にも便利です。
Places Count 関数はカウントのみを提供します。データ結合などのより複雑なクエリを実行する必要がある場合や、場所のグループの平均評価などの追加の分析情報を取得する必要がある場合は、データセットに直接クエリを実行します。
サポートされている場所の数の関数と国
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 も返します。すべてのフィルタ パラメータを表示。
場所 ID は、次のものに使用できます。
関数を使用してクエリを作成する
関数を呼び出すには、[project name
(optional)].[table name].[function name] の形式を使用します。
Places Insights の設定時にリンクされたデータセット名を変更した場合は、BigQuery の場所数関数を参照するに記載されているデフォルトのテーブル名の代わりに、カスタム名を使用します。必要に応じて、プロジェクト名を含めることもできます。含まれていない場合、クエリはデフォルトでアクティブなプロジェクトになります。
次に例を示します。
PROJECT_NAME.places_insights___us.PLACES_COUNT
JSON_OBJECT を使用して、関数に引数を渡します。
検索結果を絞り込む
場所のカウント関数は、検索を絞り込むための多くのフィルタをサポートしています。これらのパラメータ(price_level や types など)では大文字と小文字が区別されるため、パラメータ名と正確に一致している必要があります。オプションの完全なリストについては、フィルタ パラメータのリファレンスをご覧ください。
次の例では、フィルタを適用して、ユーザーの最低評価、価格帯、ビジネス ステータス、犬の入店可否で検索を制限します。
SELECT `PROJECT_NAME.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;
Places Count 関数の例
次の例では、PLACES_COUNT 関数を使用して、ニューヨーク市のエンパイア ステート ビルから 1,000 メートル以内の営業中のレストランの数を返します。
SELECT `PROJECT_NAME.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;
レスポンスには 1 つのカウントが含まれます。

この例では、BigQuery の ST_GEOGPOINT 関数を使用して、ポイントから GEOGRAPHY 値を返し、その値を geography パラメータに渡します。また、ポイント周辺の検索半径と、検索する場所のタイプ "restaurant" も渡します。
タイプ、地域、H3 ごとの場所の数の例
PLACES_COUNT_PER_TYPE、PLACES_COUNT_PER_GEO、PLACES_COUNT_PER_H3 関数は、プレイスの数とともに、レスポンスに含まれるプレイスのプレイス ID を最大 250 個返します。
たとえば、PLACES_COUNT_PER_TYPE 関数は、場所のタイプごとの場所の数のテーブルを返します。レスポンスには、各タイプに一致する場所のプレイス ID の配列が含まれます。返されたプレイス ID を使用して、各場所に関する情報を検索できます。
次の関数呼び出しは、restaurant、cafe、bar のタイプの場所の数を返します。
SELECT * FROM `PROJECT_NAME.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 の 3 つの列を含むテーブルを返します。count 列には各 type の場所の数が表示され、sample_place_ids 列には各 type の場所 ID が最大 250 個表示されます。

結果を可視化する
BigQuery データから分析情報を得るには、分析ツールとビジネス インテリジェンス ツールが不可欠です。BigQuery は、Places Insights データの関数結果の分析に使用できる、Google およびサードパーティのデータ可視化ツールをいくつかサポートしています。
関数の結果を可視化する例については、結果を可視化するをご覧ください。Places Insights の結果を可視化する方法と例については、クエリ結果を可視化するをご覧ください。
制限事項と要件
Places Count 関数には、次の制限と要件があります。
COUNTの分析情報のみがサポートされています。- 最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 m2)です。
- Place 関数カウント パラメータの入力サイズは 1 MB に制限されています。
- 場所 ID、ブランド、EV 充電オプション、住所コンポーネントによるフィルタリングはサポートされていません。
- 場所のカウント機能にアクセスできるのは、登録した都市と国のみです。データセットへのアクセスについては、Places Insights を設定するをご覧ください。
- フィルタ パラメータ(
geographyやtypesなど)では大文字と小文字が区別されます。パラメータ名と完全に一致しない場合、クエリは失敗します。
BigQuery での Places Count 関数を参照する
サンプル データセットのすべての都市と、国全体のデータセットは、Places Count 関数をサポートしています。
登録した都市と国のデータセットに対応する Places Count 関数にアクセスできます。データセットへのアクセスについては、プレイス分析を設定するをご覧ください。
次の表に、利用可能な都市と国、および対応するテーブル名を示します。
サンプルデータ
| 国、市区町村 | テーブル名 |
|---|---|
| シドニー(オーストラリア) | places_insights___au___sample.FUNCTION_NAME |
| サンパウロ(ブラジル) | places_insights___br___sample.FUNCTION_NAME |
| トロント(カナダ) | places_insights___ca___sample.FUNCTION_NAME |
| パリ(フランス) | places_insights___fr___sample.FUNCTION_NAME |
| ベルリン(ドイツ) | places_insights___de___sample.FUNCTION_NAME |
| ムンバイ(インド) | places_insights___in___sample.FUNCTION_NAME |
| ジャカルタ(インドネシア) | places_insights___id___sample.FUNCTION_NAME |
| ローマ(イタリア) | places_insights___it___sample.FUNCTION_NAME |
| 東京(日本) | places_insights___jp___sample.FUNCTION_NAME |
| メキシコシティ(メキシコ) | places_insights___mx___sample.FUNCTION_NAME |
| マドリード(スペイン) | places_insights___es___sample.FUNCTION_NAME |
| チューリッヒ(スイス) | places_insights___ch___sample.FUNCTION_NAME |
| ロンドン(イギリス) | places_insights___gb___sample.FUNCTION_NAME |
| ニューヨーク市(アメリカ合衆国) | places_insights___us___sample.FUNCTION_NAME |
完全なデータ
| 国 | テーブル名 |
|---|---|
| オーストラリア | places_insights___au.FUNCTION_NAME |
| ブラジル | places_insights___br.FUNCTION_NAME |
| カナダ | places_insights___ca.FUNCTION_NAME |
| フランス | places_insights___fr.FUNCTION_NAME |
| ドイツ | places_insights___de.FUNCTION_NAME |
| インド | places_insights___in.FUNCTION_NAME |
| インドネシア | places_insights___id.FUNCTION_NAME |
| イタリア | places_insights___it.FUNCTION_NAME |
| 日本 | places_insights___jp.FUNCTION_NAME |
| メキシコ | places_insights___mx.FUNCTION_NAME |
| スペイン | places_insights___es.FUNCTION_NAME |
| スイス | places_insights___ch.FUNCTION_NAME |
| 英国 | places_insights___gb.FUNCTION_NAME |
| 米国 | places_insights___us.FUNCTION_NAME |