Method: computeInsights

RPC de Compute Insights

Este método te permite recuperar estadísticas sobre áreas con una variedad de filtros, como área, tipo de lugar, estado de funcionamiento, nivel de precios y calificaciones. Actualmente, se admiten las estadísticas "count" y "places". Con las estadísticas de "count", puedes responder preguntas como "¿Cuántos restaurantes están ubicados en California, están en funcionamiento, son económicos y tienen una calificación promedio de al menos 4 estrellas?" (consulta la enumeración insight para obtener más detalles). Con las estadísticas de "lugares", puedes determinar qué lugares coinciden con el filtro solicitado. Luego, los clientes pueden usar esos nombres de recursos de lugar para recuperar más detalles sobre cada lugar individual con la API de Places.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Campos
insights[]

enum (Insight)

Obligatorio. Estadísticas para calcular. Actualmente, solo se admiten INSIGHT_COUNT y INSIGHT_PLACES.

filter

object (Filter)

Obligatorio. Filtro de estadísticas.

Cuerpo de la respuesta

Es la respuesta de la RPC v1.computeInsights.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Campos
placeInsights[]

object (PlaceInsight)

Resultado de Insights.INSIGHT_PLACES.

count

string (int64 format)

Resultado de Insights.INSIGHT_COUNT.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

Estadística

Estadísticas admitidas

Enumeraciones
INSIGHT_UNSPECIFIED No especificado.
INSIGHT_COUNT

Estadística de recuento

Cuando se especifica esta estadística, v1.computeInsights muestra la cantidad de lugares que coinciden con los criterios de filtro especificados.

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

Lugares de devolución

Cuando se especifica esta estadística, v1.computeInsights muestra los lugares que coinciden con los criterios de filtro especificados.

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

Filtro

Son filtros para la RPC v1.computeInsights.

Representación JSON
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
Campos
locationFilter

object (LocationFilter)

Obligatorio. Restringe los resultados a los lugares que se encuentran en el área especificada por los filtros de ubicación.

typeFilter

object (TypeFilter)

Obligatorio. Filtros de tipo de lugar

operatingStatus[]

enum (OperatingStatus)

Opcional. Restringe los resultados a los lugares cuyo estado de funcionamiento se incluye en esta lista. Si no se establece operatingStatus, se usa OPERATING_STATUS_OPERATIONAL de forma predeterminada.

priceLevels[]

enum (PriceLevel)

Opcional. Restringe los resultados a los lugares cuyo nivel de precios se incluye en esta lista. Si no se establece price_level, todos los niveles de precios se incluyen en los resultados.

ratingFilter

object (RatingFilter)

Opcional. Restringe los resultados a los lugares cuyas calificaciones promedio de los usuarios se encuentran en el rango especificado por ratingFilter. Si no se establece ratingFilter, se incluyen todas las calificaciones en el resultado.

LocationFilter

Filtros de ubicación

Especifica el área de interés para la estadística.

Representación 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.
}
Campos
Campo de unión area. Se debe especificar una de las siguientes opciones. Las direcciones (area) solo pueden ser una de las siguientes opciones:
circle

object (Circle)

Área como un círculo

region

object (Region)

Área como región

customArea

object (CustomArea)

Es un área personalizada especificada por un polígono.

Círculo

Un círculo se define por un punto central y un radio en metros.

Representación 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.
}
Campos
radius

integer

Opcional. El radio del círculo en metros

Campo de unión center. El centro del círculo. Las direcciones (center) solo pueden ser una de las siguientes opciones:
latLng

object (LatLng)

La latitud y la longitud del centro del círculo.

place

string

Es el nombre del recurso Place del centro del círculo. Solo se admiten lugares de punto.

LatLng

Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de números de punto flotante de doble precisión que representan los grados de latitud y longitud. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.

Representación JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0].

longitude

number

La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0].

Región

Una región es un límite geográfico, como ciudades, códigos postales, condados, estados, etcétera.

Representación JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Campos
Campo de unión region. Define una región geográfica. Solo se puede especificar un tipo de región (p.ej., lugar) a la vez. Las direcciones (region) solo pueden ser una de las siguientes opciones:
place

string

Es el identificador único de una región geográfica específica.

CustomArea

Área personalizada.

Representación JSON
{
  "polygon": {
    object (Polygon)
  }
}
Campos
polygon

object (Polygon)

Obligatorio. El área personalizada representada como un polígono

Polígono

Un polígono se representa con una serie de coordenadas conectadas en una secuencia ordenada en sentido contrario a las manecillas del reloj. Las coordenadas forman un bucle cerrado y definen una región rellena. La primera y la última coordenada son equivalentes y deben contener valores idénticos. El formato es una versión simplificada de los polígonos GeoJSON (solo admitimos un anillo exterior en sentido antihorario).

Representación JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Campos
coordinates[]

object (LatLng)

Opcional. Las coordenadas que definen el polígono.

TypeFilter

Filtros de tipo de lugar

Solo se admiten los tipos de Place de la Tabla a.

Un lugar solo puede tener un tipo principal asociado. Por ejemplo, el tipo principal podría ser "restaurante_mexicano" o "parrillada". Usa includedPrimaryTypes y excludedPrimaryTypes para filtrar los resultados en el tipo principal de un lugar.

Un lugar también puede tener varios valores de tipo asociados. Por ejemplo, un restaurante puede tener los siguientes tipos: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Usa includedTypes y excludedTypes para filtrar los resultados de la lista de tipos asociados con un lugar.

Si se especifica una búsqueda con varias restricciones de tipo, solo se muestran los lugares que satisfacen todas las restricciones. Por ejemplo, si especificas {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, los lugares que se muestran proporcionan servicios relacionados con "restaurant", pero no funcionan principalmente como "steak_house".

Si hay algún tipo en conflicto, es decir, si un tipo aparece en los tipos includedTypes y excludedTypes, o en includedPrimaryTypes y excludedPrimaryTypes, se muestra un error INVALID_ARGUMENT.

Se debe establecer uno de los siguientes valores: includedTypes o includedPrimaryTypes.

Representación JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Campos
includedTypes[]

string

Opcional. Tipos de lugares incluidos

excludedTypes[]

string

Opcional. Tipos de lugares excluidos

includedPrimaryTypes[]

string

Opcional. Se incluyeron los tipos de Place principales.

excludedPrimaryTypes[]

string

Opcional. Tipos de Place principales excluidos

OperatingStatus

Es el estado operativo del lugar.

Enumeraciones
OPERATING_STATUS_UNSPECIFIED No especificado.
OPERATING_STATUS_OPERATIONAL El lugar está en funcionamiento y está abierto durante el horario definido.
OPERATING_STATUS_PERMANENTLY_CLOSED El lugar ya no está en funcionamiento.
OPERATING_STATUS_TEMPORARILY_CLOSED El lugar está cerrado temporalmente y se espera que vuelva a abrir en el futuro.

PriceLevel

Es el nivel de precios del lugar.

Enumeraciones
PRICE_LEVEL_UNSPECIFIED El nivel de precios del lugar no se especifica o es desconocido.
PRICE_LEVEL_FREE El lugar ofrece servicios gratuitos.
PRICE_LEVEL_INEXPENSIVE El lugar ofrece servicios económicos.
PRICE_LEVEL_MODERATE El lugar ofrece servicios a precios moderados.
PRICE_LEVEL_EXPENSIVE El lugar ofrece servicios costosos.
PRICE_LEVEL_VERY_EXPENSIVE El lugar ofrece servicios muy costosos.

RatingFilter

Filtros de calificación promedio del usuario

Representación JSON
{
  "minRating": number,
  "maxRating": number
}
Campos
minRating

number

Opcional. Restringe los resultados a los lugares cuya calificación promedio de los usuarios sea mayor o igual que minRating. Los valores deben estar entre 1.0 y 5.0.

maxRating

number

Opcional. Restringe los resultados a los lugares cuya calificación promedio de los usuarios sea estrictamente menor o igual a maxRating. Los valores deben estar entre 1.0 y 5.0.

PlaceInsight

Contiene información sobre un lugar.

Representación JSON
{
  "place": string
}
Campos
place

string

Es el identificador único del lugar. Este nombre de recurso se puede usar para recuperar detalles sobre el lugar con la API de Places.