장소 수 함수는 BigQuery에서 실행되는 사전 정의된 SQL 쿼리이며, 정확한 수와 장소 ID를 가져오기 위해 장소 통계 데이터 세트를 쿼리하는 데 권장되는 방법입니다. 데이터 세트를 직접 쿼리할 수도 있지만 두 쿼리 메서드는 개인 정보 보호 기준점과 검색 영역을 처리합니다.
장소 수 함수는 0을 포함한 모든 수를 반환할 수 있지만 최소 검색 영역은 40.0m x 40.0m (1,600m2) (40.0m x 40.0m / 1,600m²)로 적용합니다. 또한 함수는 개별 장소에 관한 정보를 조회하는 데 사용할 수 있는 장소 ID를 반환하며 선택적 날짜 필터를 사용하여 지난 월별 스냅샷에서 이전 관심 장소 분석을 지원합니다.
장소 데이터 세트 쿼리 는 5 이상의 수만 반환할 수 있지만 (개인 정보 차등 보호를 위해 0~4의 낮은 수는 생략) 검색 영역의 크기에 제한을 적용하지 않습니다.
복잡한 공간 분석을 실행해야 하는 경우가 아니면
장소 수 함수와 같은
PLACES_COUNT_PER_H3으로 시작하는 것이 좋습니다.
표준화된 그리드 셀에서 즉각적인 공간 밀도 통계를 제공하고, 실제 검사를 위한 장소 ID를 반환하며, 지리정보 기능 엔지니어링 및 ML 모델을 위해 특별히 빌드되었습니다.
최적의 장소 수 함수 선택
장소 통계는 여러 공간 함수를 지원합니다. 최적화된 쿼리 실행, 병렬 처리, 일괄 확장성을 위해 다음 함수를 사용하는 것이 좋습니다.
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는 다음 항목에 사용할 수 있습니다.
장소 수 함수로 쿼리 실행
다음 형식을 사용하여 함수를 호출합니다. [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로 음식점 수 및 브랜드 위치 쿼리
다음 예에서는 맞춤 입력 지리정보 테이블 my_search_areas와 함께 PLACES_COUNT_V2 함수를 사용하여 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)을 쿼리합니다. 브랜드 데이터 세트에 관한 자세한 내용은 브랜드
데이터를 사용하여 쿼리 작성을 참고하세요.
예를 들어 '스타벅스'의 브랜드 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 참조 내를 참고하세요. 장소 통계 결과를 시각화하는 방법에 관한 자세한 내용은 쿼리 결과 시각화를 참고하세요.
함수 제한사항 및 요구사항
장소 수 함수에는 다음과 같은 제한사항 및 요구사항이 있습니다.
- 함수는
COUNT통계만 지원합니다. - 최소 검색 영역은 40.0m x 40.0m (1,600m2) (40.0m x 40.0m/ 1,600m²)가 필요합니다.
- 매개변수 입력 크기 제한: 함수에 매개변수로 전달되는 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)는 대소문자를 구분하며 매개변수 이름과 정확히 일치해야 합니다. 그렇지 않으면 쿼리가 실패합니다.