Places Count 関数は、BigQuery で実行される事前定義済みの SQL クエリです。Places Insights データセットにクエリを実行して正確なカウントと Place ID を取得する場合におすすめの方法です。データセットに 直接クエリを実行することもできますが、2 つのクエリ方法ではプライバシーのしきい値と検索エリアの処理方法が異なります。
Places Count 関数 は、0 を含む任意のカウントを返すことができますが、最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 平方メートル)に制限されます。また、個々の場所に関する情報を検索するために使用できる Place ID も返します。オプションの日付フィルタを使用して、過去の月次スナップショット全体の過去の POI 分析をサポートします。
場所データセットのクエリ は、5 以上のカウントのみを返すことができます(差分プライバシーを維持するために 0 ~ 4 の少ないカウントは除外されます)。検索エリアのサイズに制限はありません。
複雑な空間分析を行う必要がない場合は、
Places Count 関数から始めることをおすすめします。
PLACES_COUNT_PER_H3
標準化されたグリッドセル全体の空間密度に関する分析情報をすぐに取得でき、グラウンド
トゥルースの検査用の Place ID を返します。また、地理空間フィーチャー エンジニアリングと ML モデル用に構築されています。
最適な Places Count 関数を選択する
Places Insights は、いくつかの空間関数をサポートしています。クエリの実行、並列処理、バッチ スケーラビリティを最適化するには、次の関数を使用することをおすすめします。
PLACES_COUNT_PER_H3: H3 セルごとの場所のカウントの BigQuery テーブルを返します。この関数は、地域密度分析とコロプレスマップのヒートマップにおすすめです。-
PLACES_COUNT_V2: 場所のカウントとサンプル Place ID を含むテーブルを返します。この関数 は、入力ジオグラフィを含むテーブル パラメータ を受け取ります。テーブル全体を直接渡すことで、BigQuery 実行エンジンはワークロードを分散し、空間交差を並行して処理できるため、大規模な分析で非常に効率的なバッチ処理が可能になります。 -
PLACES_COUNT_PER_TYPE_V2: 場所のタイプ別に分類された場所のカウントとサンプル Place ID のテーブルを返します。PLACES_COUNT_V2と同様に、入力ジオグラフィをテーブル パラメータとして渡すことで、BigQuery は大規模なデータセット全体の空間交差をネイティブに並列化できます。 -
PLACES_COUNT_CHANGE: 場所のカウントと、指定された 2 か月間に追加および削除された Place ID のテーブルを返します。PLACES_COUNT_V2と同様に、入力ジオグラフィをテーブル パラメータとして渡すことで、BigQuery は大規模なデータセット全体の空間交差をネイティブに並列化できます。
これらの関数は、場所のカウントに加えて、レスポンスの要素ごとに最大 250 個の Place IDs も返します。
Place ID は、次のものに使用できます。
Places Count 関数を使用してクエリを実行する
関数を呼び出すには、[project name
(optional)].[table name].[function name] の形式を使用します。
Places Insights の設定時にリンクされたデータセット名を変更した場合は、デフォルトのテーブル名ではなくカスタム名を使用します。必要に応じて、プロジェクト名を含めることもできます。プロジェクト名が含まれていない場合、クエリはデフォルトでアクティブなプロジェクトになります。
次に例を示します。
PROJECT_NAME.places_insights___us.PLACES_COUNT_V2
JSON_OBJECT
を使用して、関数に引数を渡します。
大文字と小文字を区別するパラメータを使用してクエリ結果をフィルタする
Places Count 関数は、検索を絞り込むための多くのフィルタをサポートしています。これらのパラメータ(price_level や types など)では大文字と小文字が区別されるため、パラメータ名と完全に一致させる必要があります。オプションの一覧については、
フィルタ パラメータのリファレンスをご覧ください。
snapshot_date を使用して過去のスナップショットにクエリを実行する
デフォルトでは、Places Count 関数は利用可能な最新のデータ スナップショットにクエリを実行します。
特定の過去の月に存在した場所のデータを分析するには、オプションの snapshot_date パラメータを JSON_OBJECT に追加します。
- 形式:
YYYY-MM(例:'2026-07')。 - デフォルト: 省略した場合、関数は自動的に最新のスナップショットにクエリを実行します。
次の例では、2026 年 7 月のスナップショットに記録されている検索エリア周辺のレストラン数をクエリします。
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'snapshot_date', '2026-07' -- Optional historical snapshot month ) );
次の例では、PLACES_COUNT_V2 関数を使用して、最小ユーザー評価、価格帯、ビジネス ステータス、レストランで犬を許可するかどうかで検索を絞り込むフィルタを適用します。
まず、入力ジオグラフィ テーブルを使用するか、選択したジオグラフィを含むテーブルを準備します。
-- Create a table for the input geographies CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS ( SELECT '1' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building UNION ALL SELECT '2' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square );
次に、テーブルとフィルタを含む JSON オブジェクトを使用して PLACES_COUNT_V2 を呼び出します。検索半径は JSON フィルタに含まれており、my_search_areas テーブルの各ポイントの周囲に適用されます。
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters around each point in 'geo' 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) );
例: PLACES_COUNT_V2 を使用してレストランの数とブランドのロケーションをクエリする
次の例では、カスタム入力ジオグラフィ テーブル my_search_areas で PLACES_COUNT_V2 関数を使用して、2026 年 7 月にニューヨーク市のエンパイア ステート ビルとタイムズ スクエアから 1,000 メートル以内の営業中のレストランの数を返します。
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'snapshot_date', '2026-07' ) );
レスポンスは、geo_id、ジオグラフィ、カウント、Place ID のサンプルを含む BigQuery テーブルです。

次の例では、PLACES_COUNT_V2 関数を使用して特定のブランド ID でフィルタします。この例では、ブランド ID
"1413758728321880760" を使用してスターバックスのロケーションをフィルタします。
フィルタするブランドのブランド ID を確認するには、データセットの brands
テーブル(places_insights___us.brands など)にクエリを実行します。ブランド データセットの詳細については、ブランド データを使用してクエリを作成するをご覧ください。
たとえば、「スターバックス」のブランド ID を確認するには、次のようにします。
SELECT id, name FROM `PROJECT_NAME.places_insights___us.brands` WHERE name = "Starbucks"
ブランド ID を取得したら、次のクエリに示すように、brand_ids フィルタで使用できます。
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'brand_ids', ["1413758728321880760"] ) );
Google Cloud ツールでクエリの出力を可視化する
分析ツールとビジネス インテリジェンス ツールを使用すると、 BigQuery データから分析情報を発見できます。BigQuery は、Places Insights データの関数結果の分析に使用できる、Google とサードパーティの データ可視化 ツールをいくつかサポートしています。
関数の結果を可視化する例については、PLACES_COUNT_PER_H3 リファレンスの結果を可視化するをご覧ください。 Places Insights の結果の可視化の詳細については、クエリ結果を可視化する をご覧ください。
関数の制限事項と要件
Places Count 関数には、次の制限事項と要件があります。
- この関数は
COUNT分析情報のみをサポートしています。 - 最小検索エリアは 40.0 メートル × 40.0 メートル(1600 m2)(40.0 メートル × 40.0 メートル / 1,600 平方メートル)に制限されます。
- パラメータ入力サイズの上限: 関数にパラメータとして渡される JSON オブジェクトは 1 MB に制限されます。この制限の影響は、関数のバージョンによって異なります。
- V2 関数(
PLACES_COUNT_V2、PLACES_COUNT_PER_TYPE_V2、PLACES_COUNT_CHANGE)の場合、この制限はフィルタ JSON オブジェクトにのみ適用されます。 ジオグラフィはテーブル パラメータを使用して個別に指定されるため、これらの関数は JSON サイズの上限に達することなく、はるかに多くの入力ジオグラフィにスケーリングできます。 PLACES_COUNT_PER_H3、PLACES_COUNT、PLACES_COUNT_PER_TYPE、PLACES_COUNT_PER_GEOの場合、この制限はすべてのジオグラフィ定義を含む JSON オブジェクト全体に適用されます。これにより、1 回の呼び出しで処理できるジオグラフィの数が制限される可能性があります。
- V2 関数(
- プレイス ID または住所コンポーネントによるフィルタリングはサポートされていません。
- Places Count 関数には、登録している都市や国でのみアクセスできます。データセットへのアクセスについては、Set up Places Insights を設定するをご覧ください。
- フィルタ パラメータ(
geographyやtypesなど)では大文字と小文字が区別されるため、パラメータ名と完全に一致させる必要があります。一致しない場合、クエリは失敗します。