Method: computeInsights

Compute Insights RPC

이 메서드를 사용하면 지역, 장소 유형, 운영 상태, 가격 수준, 평점과 같은 다양한 필터를 사용하여 지역 관련 통계를 검색할 수 있습니다. 현재 '수치' 및 '장소' 통계가 지원됩니다. '수치' 통계를 사용하면 '캘리포니아에 운영 중이며 저렴하고 평균 평점이 4개 이상인 음식점은 몇 개나 있나요?'와 같은 질문에 답변할 수 있습니다(자세한 내용은 insight enum 참고). '장소' 통계를 사용하면 요청된 필터와 일치하는 장소를 확인할 수 있습니다. 그러면 클라이언트는 이러한 장소 리소스 이름을 사용하여 Places API를 통해 각 장소에 관한 자세한 정보를 가져올 수 있습니다.

HTTP 요청

POST https://areainsights.googleapis.com/v1:computeInsights

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
필드
insights[]

enum (Insight)

필수 항목입니다. 계산할 통계입니다. 현재는 INSIGHT_COUNT 및 INSIGHT_PLACES만 지원됩니다.

filter

object (Filter)

필수 항목입니다. 통계 필터

응답 본문

v1.computeInsights RPC의 응답입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
필드
placeInsights[]

object (PlaceInsight)

Insights.INSIGHT_PLACES의 결과입니다.

count

string (int64 format)

Insights.INSIGHT_COUNT의 결과입니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

통계

지원되는 통계

열거형
INSIGHT_UNSPECIFIED 지정되지 않음
INSIGHT_COUNT

통계 수

이 통계가 지정되면 v1.computeInsights는 지정된 필터 기준과 일치하는 장소 수를 반환합니다.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_COUNT
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return the count of restaurants in California that are
operational, with price level free or inexpensive and have an average
rating of at least 4 starts.

Example response:
ComputeInsightsResponse {
  count: <number of places>
}
INSIGHT_PLACES

반품 장소

이 통계가 지정되면 v1.computeInsights는 지정된 필터 기준과 일치하는 장소를 반환합니다.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_PLACES
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return list of places of restaurants in
California that are operational, with price level free or inexpensive and
have an average rating of at least 4 stars.

Example response:
ComputeInsightsResponse {
  placeInsights { place: "places/ABC" }
  placeInsights { place: "places/PQR" }
  placeInsights { place: "places/XYZ" }
}

필터

v1.computeInsights RPC의 필터입니다.

JSON 표현
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
필드
locationFilter

object (LocationFilter)

필수 항목입니다. 위치 필터로 지정된 지역에 있는 장소로 결과를 제한합니다.

typeFilter

object (TypeFilter)

필수 항목입니다. 장소 유형 필터

operatingStatus[]

enum (OperatingStatus)

선택사항입니다. 운영 상태가 이 목록에 포함된 장소로 결과를 제한합니다. operatingStatus가 설정되지 않은 경우 OPERATING_STATUS_OPERATIONAL이 기본값으로 사용됩니다.

priceLevels[]

enum (PriceLevel)

선택사항입니다. 가격대가 이 목록에 포함된 장소로 결과를 제한합니다. price_level이 설정되지 않으면 모든 가격대가 결과에 포함됩니다.

ratingFilter

object (RatingFilter)

선택사항입니다. 평균 사용자 평점이 ratingFilter로 지정된 범위 내에 있는 장소로 결과를 제한합니다. ratingFilter가 설정되지 않으면 모든 평점이 결과에 포함됩니다.

LocationFilter

위치 필터

통계의 관심 영역을 지정합니다.

JSON 표현
{

  // Union field area can be only one of the following:
  "circle": {
    object (Circle)
  },
  "region": {
    object (Region)
  },
  "customArea": {
    object (CustomArea)
  }
  // End of list of possible types for union field area.
}
필드
통합 필드 area. 다음 중 하나를 지정해야 합니다. area은 다음 중 하나여야 합니다.
circle

object (Circle)

면적을 원으로 표시합니다.

region

object (Region)

지역으로 구역

customArea

object (CustomArea)

다각형으로 지정된 맞춤 영역

원 중심점과 반지름(미터)으로 원이 정의됩니다.

JSON 표현
{
  "radius": integer,

  // Union field center can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "place": string
  // End of list of possible types for union field center.
}
필드
radius

integer

선택사항입니다. 원의 반지름(미터)

통합 필드 center. 원의 중심입니다. center은 다음 중 하나여야 합니다.
latLng

object (LatLng)

원 중심의 위도 및 경도입니다.

place

string

원 중심의 장소 리소스 이름입니다. 지점 장소만 지원됩니다.

LatLng

위도/경도 쌍을 나타내는 객체로 위도와 경도를 나타내는 복식 쌍으로 표현됩니다. 달리 명시되지 않는 한 이 객체는 WGS84 표준을 준수해야 합니다. 값은 정규화된 범위 내에 있어야 합니다.

JSON 표현
{
  "latitude": number,
  "longitude": number
}
필드
latitude

number

위도입니다. 범위는 [-90.0, +90.0]입니다.

longitude

number

경도입니다. 범위는 [-180.0, +180.0]입니다.

지역

지역은 도시, 우편번호, 군, 주 등과 같은 지리적 경계입니다.

JSON 표현
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
필드
통합 필드 region. 지리적 지역을 정의합니다. 한 번에 하나의 지역 유형 (예: 장소)만 지정할 수 있습니다. region은 다음 중 하나여야 합니다.
place

string

특정 지역의 고유 식별자입니다.

CustomArea

맞춤 영역

JSON 표현
{
  "polygon": {
    object (Polygon)
  }
}
필드
polygon

object (Polygon)

필수 항목입니다. 다각형으로 표시된 맞춤 영역

다각형

다각형은 시계 반대 방향으로 순서가 지정된 일련의 연결된 좌표로 표현됩니다. 좌표는 닫힌 루프를 형성하고 채워진 영역을 정의합니다. 첫 번째와 마지막 좌표는 동일하며 동일한 값을 포함해야 합니다. 이 형식은 GeoJSON 다각형의 단순화된 버전입니다 (반시계 방향 외부 링 하나만 지원됨).

JSON 표현
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
필드
coordinates[]

object (LatLng)

선택사항입니다. 다각형을 정의하는 좌표입니다.

TypeFilter

장소 유형 필터

표 a의 장소 유형만 지원됩니다.

장소에는 하나의 기본 유형만 연결할 수 있습니다. 예를 들어 기본 유형은 'mexican_restaurant' 또는 'steak_house'일 수 있습니다. includedPrimaryTypes 및 excludedPrimaryTypes를 사용하여 장소의 기본 유형으로 결과를 필터링합니다.

장소에 여러 유형 값이 연결될 수도 있습니다. 예를 들어 레스토랑의 유형은 'seafood_restaurant', 'restaurant', 'food', 'point_of_interest', 'establishment'일 수 있습니다. includedTypes 및 excludedTypes를 사용하여 장소와 연결된 유형 목록에서 결과를 필터링합니다.

검색에 여러 유형 제한이 지정된 경우 모든 제한을 충족하는 장소만 반환됩니다. 예를 들어 {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}를 지정하면 반환된 장소는 'restaurant' 관련 서비스를 제공하지만 주로 'steak_house'로 운영되지 않습니다.

충돌하는 유형이 있는 경우(즉, 유형이 includedTypes 및 excludedTypes 유형 또는 includedPrimaryTypes 및 excludedPrimaryTypes에 모두 표시되는 경우) INVALID_ARGUMENT 오류가 반환됩니다.

includedTypes 또는 includedPrimaryTypes 중 하나를 설정해야 합니다.

JSON 표현
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
필드
includedTypes[]

string

선택사항입니다. 포함된 장소 유형

excludedTypes[]

string

선택사항입니다. 제외된 장소 유형

includedPrimaryTypes[]

string

선택사항입니다. 기본 장소 유형을 포함했습니다.

excludedPrimaryTypes[]

string

선택사항입니다. 기본 장소 유형을 제외했습니다.

OperatingStatus

장소의 운영 상태입니다.

열거형
OPERATING_STATUS_UNSPECIFIED 지정되지 않음
OPERATING_STATUS_OPERATIONAL 장소가 운영 중이며 지정된 시간에 영업합니다.
OPERATING_STATUS_PERMANENTLY_CLOSED 더 이상 영업하지 않는 장소입니다.
OPERATING_STATUS_TEMPORARILY_CLOSED 장소가 일시적으로 폐쇄되었으며 향후 다시 열릴 예정입니다.

PriceLevel

장소의 가격 수준입니다.

열거형
PRICE_LEVEL_UNSPECIFIED 장소 가격 수준이 지정되지 않았거나 알 수 없습니다.
PRICE_LEVEL_FREE 장소에서 무료 서비스를 제공합니다.
PRICE_LEVEL_INEXPENSIVE 저렴한 서비스를 제공하는 장소입니다.
PRICE_LEVEL_MODERATE 장소에서 적당한 가격의 서비스를 제공합니다.
PRICE_LEVEL_EXPENSIVE 비용이 비싼 서비스를 제공하는 장소입니다.
PRICE_LEVEL_VERY_EXPENSIVE 장소에서 매우 비싼 서비스를 제공합니다.

RatingFilter

평균 사용자 평점 필터

JSON 표현
{
  "minRating": number,
  "maxRating": number
}
필드
minRating

number

선택사항입니다. 평균 사용자 평점이 minRating 이상인 장소로 결과를 제한합니다. 값은 1.0과 5.0 사이여야 합니다.

maxRating

number

선택사항입니다. 평균 사용자 평점이 maxRating 이하인 장소로 결과를 제한합니다. 값은 1.0과 5.0 사이여야 합니다.

PlaceInsight

장소에 관한 정보를 보유합니다.

JSON 표현
{
  "place": string
}
필드
place

string

장소의 고유 식별자입니다. 이 리소스 이름은 Places API를 사용하여 장소에 관한 세부정보를 가져오는 데 사용할 수 있습니다.