Method: computeInsights

Compute Insights RPC

この方法では、地域、場所の種類、営業状況、価格帯、評価など、さまざまなフィルタを使用して地域に関する分析情報を取得できます。現在、[数] と [場所] の分析情報がサポートされています。「数」の分析情報を使用すると、「営業中で、低価格で、平均評価が 4 つ星以上のレストランがカリフォルニア州に何件あるか」などの質問に回答できます(詳細については、insight 列挙型をご覧ください)。[場所] 分析情報では、リクエストされたフィルタに一致する場所を特定できます。クライアントは、これらの場所のリソース名を使用して、Places API で個々の場所の詳細を取得できます。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

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

円の中心の Place リソース名。ポイント プレイスのみサポートされます。

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。地理的なリージョンを定義します。一度に指定できる地域の種類(場所など)は 1 つだけです。region は次のいずれかになります。
place

string

特定の地域の一意の識別子。

CustomArea

カスタム領域。

JSON 表現
{
  "polygon": {
    object (Polygon)
  }
}
フィールド
polygon

object (Polygon)

必須。ポリゴンで表されるカスタムエリア

ポリゴン

ポリゴンは、反時計回りの順序で接続された一連の座標で表されます。座標は閉じたループを形成し、塗りつぶし領域を定義します。最初の座標と最後の座標は同等であり、同じ値を含める必要があります。この形式は、GeoJSON ポリゴンの簡略版です(反時計回りの外側リングのみをサポート)。

JSON 表現
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
フィールド
coordinates[]

object (LatLng)

省略可。ポリゴンを定義する座標。

TypeFilter

場所タイプのフィルタ。

表 a のプレイスタイプのみがサポートされます。

1 つの場所に関連付けることができるプライマリ タイプは 1 つだけです。たとえば、プライマリ タイプは「mexican_restaurant」や「steak_house」などです。includedPrimaryTypes と excludedPrimaryTypes を使用して、場所のプライマリ タイプで結果をフィルタします。

1 つの場所に複数のタイプ値を関連付けることもできます。たとえば、レストランには「seafood_restaurant」、「restaurant」、「food」、「point_of_interest」、「establishment」などのタイプがあります。includedTypes と excludedTypes を使用して、場所に関連付けられているタイプのリストで結果をフィルタします。

検索で複数の種類の制限が指定されている場合、すべての制限を満たす場所のみが返されます。たとえば、{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["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

省略可。除外された主な Place Type。

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 で場所の詳細を取得できます。