Method: computeInsights

Compute Insights RPC

Этот метод позволяет вам получить информацию о районах, используя различные фильтры, такие как: район, тип места, рабочий статус, уровень цен и рейтинги. В настоящее время поддерживаются данные «подсчет» и «места». С помощью статистики «подсчета» вы можете ответить на такие вопросы, как «Сколько ресторанов расположены в Калифорнии, которые работают, недороги и имеют средний рейтинг не менее 4 звезд» (более подробную информацию см. в перечислении insight ). С помощью статистики мест вы можете определить, какие места соответствуют запрошенному фильтру. Затем клиенты могут использовать эти имена ресурсов мест для получения более подробной информации о каждом отдельном месте с помощью 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 )

Необходимый. Фильтр понимания.

Тело ответа

Ответ для RPC v1.computeInsights.

В случае успеха тело ответа содержит данные следующей структуры:

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" }
}

Фильтр

Фильтры для RPC v1.computeInsights.

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 )

Необязательный. Ограничивает результаты местами, рабочий статус которых включен в этот список. Если OperationStatus не установлен, по умолчанию используется OPERATING_STATUS_OPERATIONAL.

priceLevels[]

enum ( PriceLevel )

Необязательный. Ограничивает результаты местами, уровень цен которых включен в этот список. Если Price_level не установлен, в результаты включаются все уровни цен.

ratingFilter

object ( RatingFilter )

Необязательный. Ограничивает результаты местами, средние оценки пользователей которых находятся в диапазоне, указанном в параметреatingFilter. Если рейтингRatingFilter не установлен, в результат включаются все рейтинги.

Фильтр местоположения

Фильтры местоположения.

Указывает область интереса для анализа.

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 для центра круга. Поддерживаются только точечные места.

ШиротаДлительность

Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту 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 )

Необязательный. Координаты, определяющие многоугольник.

ТипФильтр

Разместите фильтры типов.

Поддерживаются только типы мест из таблицы a .

С местом может быть связан только один основной тип. Например, основным типом может быть «mexican_restaurant» или «steak_house». Используйте includePrimaryTypes и ExcludedPrimaryTypes, чтобы фильтровать результаты по основному типу места.

С местом также может быть связано несколько значений типа. Например, ресторан может иметь следующие типы: «морепродукты_ресторан», «ресторан», «еда», «точка_интереса», «заведение». Используйте включенные типы и исключенные типы, чтобы фильтровать результаты в списке типов, связанных с местом.

Если для поиска заданы ограничения нескольких типов, возвращаются только места, удовлетворяющие всем ограничениям. Например, если вы укажете {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, возвращаемые места предоставляют услуги, связанные с "рестораном", но не работают в основном как "стейк-хаус".

Если есть какие-либо конфликтующие типы, т. е. тип появляется как в типах includeTypes, так и в ExcludedTypes или в включенныхPrimaryTypes и ExcludedPrimaryTypes, возвращается ошибка INVALID_ARGUMENT.

Должен быть установлен один из включенных типов или включенных первичных типов.

JSON-представление
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Поля
includedTypes[]

string

Необязательный. Включенные типы мест.

excludedTypes[]

string

Необязательный. Исключенные типы мест.

includedPrimaryTypes[]

string

Необязательный. Включены основные типы мест.

excludedPrimaryTypes[]

string

Необязательный. Исключены основные типы мест.

Операционный статус

Рабочее состояние места.

Перечисления
OPERATING_STATUS_UNSPECIFIED Не указан.
OPERATING_STATUS_OPERATIONAL Место работает и открыто в определенные часы.
OPERATING_STATUS_PERMANENTLY_CLOSED The Place больше не занимается бизнесом.
OPERATING_STATUS_TEMPORARILY_CLOSED Место временно закрыто и, как ожидается, откроется в будущем.

Уровень цены

Уровень цен места.

Перечисления
PRICE_LEVEL_UNSPECIFIED Уровень цен на место не указан или неизвестен.
PRICE_LEVEL_FREE Место предоставляет бесплатные услуги.
PRICE_LEVEL_INEXPENSIVE Место предоставляет недорогие услуги.
PRICE_LEVEL_MODERATE Место предоставляет услуги по умеренным ценам.
PRICE_LEVEL_EXPENSIVE Место предоставляет дорогие услуги.
PRICE_LEVEL_VERY_EXPENSIVE Место предоставляет очень дорогие услуги.

РейтингФильтр

Фильтры среднего рейтинга пользователей.

JSON-представление
{
  "minRating": number,
  "maxRating": number
}
Поля
minRating

number

Необязательный. Ограничивает результаты местами, средний рейтинг пользователей которых больше или равен minRating. Значения должны находиться в диапазоне от 1,0 до 5,0.

maxRating

number

Необязательный. Ограничивает результаты местами, средний рейтинг пользователей которых строго меньше или равен maxRating. Значения должны находиться в диапазоне от 1,0 до 5,0.

ПлейсИнсайт

Содержит информацию о месте

JSON-представление
{
  "place": string
}
Поля
place

string

Уникальный идентификатор места. Это имя ресурса можно использовать для получения сведений о месте с помощью Places API .