장소 수 함수는 BigQuery에서 실행되는 사전 정의된 SQL 쿼리이며, 장소 통계 데이터 세트를 쿼리하여 정확한 수와 장소 ID를 검색하는 데 권장되는 방법입니다. 데이터 세트를 직접 쿼리할 수도 있지만 두 쿼리 메서드는 개인 정보 보호 기준점과 검색 영역을 처리합니다.
장소 수 함수는 0을 포함한 모든 수를 반환할 수 있지만 최소 검색 영역은 40.0m x 40.0m(1,600m2)입니다. 또한 함수는 개별 장소에 관한 정보를 조회하는 데 사용할 수 있는 장소 ID를 반환하고, 선택적 날짜 필터를 사용하여 과거 월별 스냅샷에서 이전 관심 장소 분석을 지원합니다.
장소 데이터 세트 쿼리는 5개 이상의 개수만 반환할 수 있지만 (개인 정보 차등 보호를 위해 0~4개의 낮은 개수는 생략) 검색 영역의 크기에는 제한이 없습니다.
복잡한 공간 분석을 수행해야 하는 경우가 아니라면 PLACES_COUNT_PER_H3와 같은 장소 수 함수로 시작하는 것이 좋습니다.
표준화된 그리드 셀 전반에서 즉각적인 공간 밀도 인사이트를 제공하고, 정답 검사를 위한 장소 ID를 반환하며, 지리 공간 특성 추출 및 ML 모델을 위해 특별히 제작되었습니다.
최적의 장소 수 함수 선택
Places Insights는 여러 공간 함수를 지원합니다. 최적화된 쿼리 실행, 동시 로드, 일괄 확장성을 위해 다음 함수를 사용하는 것이 좋습니다.
PLACES_COUNT_PER_H3: H3 셀당 장소 수의 BigQuery 테이블을 반환합니다. 이 함수는 지역 밀도 분석 및 등치선 히트맵에 권장됩니다.-
PLACES_COUNT_V2: 장소 수와 샘플 장소 ID가 포함된 테이블을 반환합니다. 이 함수는 입력 지리 정보가 포함된 테이블 매개변수를 허용합니다. 전체 테이블을 직접 전달하면 BigQuery 실행 엔진이 워크로드를 분산하고 공간 교차점을 병렬로 처리할 수 있으므로 대규모 분석을 위한 일괄 처리를 매우 효율적으로 수행할 수 있습니다. -
PLACES_COUNT_PER_TYPE_V2: 장소 유형별로 분류된 장소 수 및 샘플 장소 ID 표를 반환합니다.PLACES_COUNT_V2와 마찬가지로 입력 지리 정보를 테이블 매개변수로 전달하면 BigQuery가 대규모 데이터 세트에서 공간 교차를 기본적으로 병렬화할 수 있습니다. -
PLACES_COUNT_CHANGE: 지정된 두 달 사이에 추가 및 삭제된 장소 ID와 장소 수 표를 반환합니다.PLACES_COUNT_V2와 마찬가지로 입력 지리정보를 테이블 매개변수로 전달하면 BigQuery가 대규모 데이터 세트에서 공간 교차를 기본적으로 병렬화할 수 있습니다.
이러한 함수는 장소 수와 함께 응답의 요소당 최대 250개의 장소 ID도 반환합니다.
장소 ID는 다음과 함께 사용할 수 있습니다.
Places Count 함수로 쿼리 실행
[project name
(optional)].[table name].[function name] 형식을 사용하여 함수를 호출합니다.
장소 통계를 설정할 때 연결된 데이터 세트 이름을 변경한 경우 기본 테이블 이름 대신 커스텀 이름을 사용하세요. 원하는 경우 프로젝트 이름을 포함할 수도 있습니다. 포함되지 않은 경우 쿼리는 기본적으로 활성 프로젝트로 설정됩니다.
예를 들면 다음과 같습니다.
PROJECT_NAME.places_insights___us.PLACES_COUNT_V2
JSON_OBJECT를 사용하여 함수에 인수를 전달합니다.
대소문자 구분 매개변수를 사용하여 쿼리 결과 필터링
장소 수 함수는 검색을 세분화하는 다양한 필터를 지원합니다. 이러한 매개변수 (예: price_level 또는 types)는 대소문자를 구분하며 매개변수 이름과 정확히 일치해야 합니다. 옵션 전체 목록은 필터 매개변수 참조를 확인하세요.
snapshot_date를 사용하여 이전 스냅샷 쿼리
기본적으로 장소 수 함수는 사용 가능한 최신 데이터 스냅샷을 쿼리합니다.
특정 과거 월에 존재했던 장소 데이터를 분석하려면 선택적 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를 사용하여 음식점 수 및 브랜드 위치 쿼리
다음 예시에서는 PLACES_COUNT_V2 함수를 커스텀 입력 지리 테이블 my_search_areas과 함께 사용하여 2026년 7월 뉴욕시의 엠파이어 스테이트 빌딩과 타임스퀘어에서 1,000m 이내에 있는 운영 중인 레스토랑 수를 반환합니다.
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, 지역, 개수, 장소 ID 샘플이 포함된 BigQuery 테이블입니다.

다음 예시에서는 PLACES_COUNT_V2 함수를 사용하여 특정 브랜드 ID로 필터링합니다. 이 예시에서는 브랜드 ID "1413758728321880760"를 사용하여 스타벅스 위치를 필터링합니다.
필터링할 브랜드의 브랜드 ID를 찾으려면 데이터 세트의 brands 테이블을 쿼리합니다 (예: places_insights___us.brands). 브랜드 데이터 세트에 대한 자세한 내용은 브랜드 데이터를 사용하여 쿼리 작성을 참조하세요.
예를 들어 'Starbucks'의 브랜드 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는 장소 통계 데이터에 대한 함수 결과를 분석하는 데 사용할 수 있는 여러 Google 및 서드 파티 데이터 시각화 도구를 지원합니다.
함수 결과를 시각화하는 예시는 PLACES_COUNT_PER_H3 참조 내에서 결과 시각화를 참고하세요. Places Insights 결과를 시각화하는 방법에 관한 자세한 내용은 쿼리 결과 시각화를 참고하세요.
함수 제한사항 및 요구사항
장소 수 함수에는 다음과 같은 제한사항과 요구사항이 있습니다.
- 이 함수는
COUNT인사이트만 지원합니다. - 최소 검색 영역은 40.0m x 40.0m(1,600m2)입니다.
- 파라미터 입력 크기 제한: 함수에 파라미터로 전달되는 JSON 객체는 1MB로 제한됩니다. 이 한도의 영향은 함수 버전에 따라 다릅니다.
- 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 객체에 적용됩니다. 이로 인해 단일 호출에서 처리할 수 있는 지역 수가 제한될 수 있습니다.
- V2 함수의 경우 (
- 장소 ID 또는 주소 구성요소로 필터링하는 기능은 지원되지 않습니다.
- 구독한 도시 및 국가의 장소 수 함수에만 액세스할 수 있습니다. 데이터 세트 액세스는 장소 통계 설정을 참고하세요.
- 필터 매개변수 (예:
geography또는types)는 대소문자를 구분하며 매개변수 이름과 정확히 일치해야 합니다. 그렇지 않으면 쿼리가 실패합니다.