Conceptos clave

Para generar una isócrona, proporciona a la API un origen, un medio de transporte, como en automóvil, en vehículo de dos ruedas, en bicicleta o a pie, y un límite de tiempo. También puedes ajustar las preferencias de ruta y el aspecto visual del polígono resultante.

Medios de transporte

Usa el parámetro obligatorio travelMode (travel_mode) para especificar el medio de transporte:

  • DRIVE: Calcula la accesibilidad de un automóvil de pasajeros por rutas transitables con límites de velocidad publicados, jerarquía de rutas, penalizaciones por giros y, de forma opcional, condiciones de tráfico en tiempo real.
  • TWO_WHEELER: Calcula la accesibilidad para un vehículo motorizado de dos ruedas (como una motocicleta o un scooter) con reglas de acceso a rutas específicas del modo y velocidades modeladas más bajas que DRIVE en rutas de alta velocidad. Como resultado, una isócrona de TWO_WHEELER suele abarcar un área más grande que BICYCLE, pero más pequeña que DRIVE a lo largo de autopistas de alta velocidad.
  • BICYCLE: Calcula la accesibilidad para un ciclista en calles, ciclovías y rutas compartidas accesibles para bicicletas, con velocidades ajustadas según el tipo de camino y la pendiente, sin incluir autopistas ni autovías de acceso controlado.
  • WALK: Calcula la accesibilidad de un peatón por veredas, senderos, caminos y calles accesibles para peatones, con la velocidad de caminata ajustada según la pendiente. El recorrido a pie ignora las restricciones vehiculares de un solo sentido.

Horizonte temporal

La restricción principal que proporcionas al servicio es travelDuration (travel_duration). Esto define el horizonte temporal para el cálculo.

  • Duración mínima y máxima: La duración debe ser de al menos "1s" (1 segundo). Cero ("0s"), las duraciones negativas y las duraciones de menos de 1 segundo (como "0.5s") devuelven un error 400 INVALID_ARGUMENT. La API admite una duración máxima del viaje de 3,600 segundos (1 hora) para los modos DRIVE y TWO_WHEELER, y de 7,200 segundos (2 horas) para los modos WALK y BICYCLE.
  • Límite mínimo del polígono: Debido a que la API convierte los tramos de ruta alcanzados en celdas de cuadrícula espacial, las duraciones muy cortas devuelven un polígono pequeño que cubre las celdas de cuadrícula alrededor del origen ajustado.
  • Rendimiento: El tiempo de cálculo se ajusta según la duración solicitada y el modo de viaje seleccionado. Una isócrona de conducción de una hora abarca un área geográfica y una red de rutas significativamente más grandes que una isócrona de caminata de una hora, lo que genera una latencia más alta para la solicitud de conducción.
  • Formato: Debido a que la API usa google.protobuf.Duration, la duración debe tener el formato de una cadena que termine en "s" (por ejemplo, "3600s"), en lugar de un número entero.

Puntos de origen y ajuste a la ruta

Puedes especificar el punto de partida de la isócrona de dos maneras:

  • Coordenadas (location): Es un par de latitud y longitud. Proporciona latitude (en [-90, 90]) y longitude (en [-180, 180]). Si omites uno de ellos, la API lo trata como 0.0, lo que coloca el punto en el ecuador o el meridiano de Greenwich. Si omites ambos ({}) o envías (0, 0), la API devuelve un error 400 INVALID_ARGUMENT.
  • IDs de lugar (place): Es un identificador único para un lugar específico en Google Maps. Cuando proporcionas un ID de lugar, el servicio resuelve el lugar en su coordenada de centroide y ajusta ese punto a la ruta más cercana. Usa el formato de nombre de recurso que comienza con places/ (por ejemplo, places/ChIJIQBpAG2ahYAR_6128GcTUEo). También se acepta un ID de lugar simple sin el prefijo places/. Para obtener más información sobre los IDs de lugar, consulta IDs de lugar.

Independientemente del método de entrada, la API no calcula la duración del viaje desde el punto físico exacto si ese punto no está en una ruta, como dentro de un parque o un edificio. Para controlar esta situación, el servicio usa la función de ajuste a la ruta. La alineación con la ruta tiene las siguientes características:

  • Ajuste inteligente: El servicio intenta ajustar tu punto de origen al tramo de ruta transitable más cercano.
  • Reconocimiento del modo: La lógica de ajuste considera tu travel_mode. Si solicitas DRIVE o TWO_WHEELER, la API ignora las rutas solo para peatones y busca la calle transitable más cercana. Si solicitas WALK, la API prioriza las rutas peatonales y las veredas.
  • Casos de error: Si la API no puede encontrar un tramo de ruta adecuado dentro de la distancia máxima de ajuste de tu punto de origen (aproximadamente 200 metros o menos para WALK y BICYCLE), la API devuelve un error 404 NOT_FOUND. Los accidentes geográficos grandes (como parques, campus o miradores panorámicos) pueden tener un centroide de ID de lugar más alejado que la distancia de ajuste de la ruta más cercana que se puede usar en el medio de transporte. En esos casos, pasa las coordenadas location explícitas de una entrada de ruta.

Dirección del viaje (entrante o saliente)

Puedes calcular la accesibilidad entrante y saliente con el parámetro travelDirection (travel_direction):

  • FROM (saliente): Calcula el área a la que se puede llegar desde el punto de origen dentro del límite de tiempo especificado. Esto es adecuado para casos de uso como zonas de entrega o cobertura de servicios.
  • TO (Entrante): Calcula el área desde la que puedes viajar hasta el punto de origen dentro del límite de tiempo especificado. Esto es adecuado para determinar las zonas de influencia, como desde dónde pueden viajar los empleados para llegar a una oficina central.

Conocimiento del tráfico

Controla cómo los datos de tráfico influyen en el polígono generado con el parámetro routingPreference (routing_preference):

  • TRAFFIC_UNAWARE (predeterminado): Usa los límites de velocidad de flujo libre y la jerarquía de rutas para generar el polígono de isócrona. Esto produce una forma determinística que no fluctúa según la hora del día. Este parámetro es ideal para el análisis general o la planificación de situaciones de referencia.
  • TRAFFIC_AWARE: Calcula las isócronas con las condiciones de tráfico en tiempo real en el momento exacto en que se procesa la solicitud (las marcas de tiempo de salida o llegada futuras o históricas personalizadas no se pueden configurar en la versión 1). Esto hace que el área accesible se reduzca durante la congestión y se expanda durante las horas de baja actividad. En condiciones de flujo libre o de baja actividad, TRAFFIC_AWARE y TRAFFIC_UNAWARE podrían devolver polígonos casi idénticos. Nota: La planificación de rutas con información de tráfico en tiempo real solo se admite cuando travelMode se establece en DRIVE o TWO_WHEELER.

Suavizado y fidelidad

Puedes personalizar la apariencia y la precisión de los polígonos de salida con los parámetros polygonFidelity (polygon_fidelity) y enableSmoothing (enable_smoothing). Si bien estas opciones son independientes, funcionan en conjunto para determinar la forma final.

  • polygonFidelity: Controla la resolución de la celda de la cuadrícula espacial que se usa para aproximar el límite alcanzable:

    • LOW: Usa las celdas de cuadrícula más grandes (varios cientos de metros de ancho). Es ideal para cubrir áreas grandes con menos vértices y sin espacios internos, lo que genera una forma generalizada que puede sobreestimar el área alcanzable a lo largo de corredores viales estrechos.
    • MEDIUM: Precisión y recuento de vértices equilibrados.
    • HIGH: Usa las celdas de cuadrícula más pequeñas (aproximadamente de 100 a 150 metros de ancho). Genera un ajuste más preciso a la red de rutas alcanzadas, pero puede producir agujeros interiores donde la red de rutas es escasa.
    • POLYGON_FIDELITY_UNSPECIFIED: Si no se especifica, el servicio selecciona la resolución automáticamente según el medio de transporte y la duración, con celdas más precisas para duraciones cortas y para WALK, y celdas más generales para duraciones largas. Para comparar isócronas en diferentes duraciones o modos de viaje, establece polygonFidelity de forma explícita.
      Fidelidad de polígonos alta, media y baja
      Fidelidad de polígonos alta, media y baja
  • enableSmoothing: Controla si se redondean los bordes escalonados de las celdas de la cuadrícula definidas por la fidelidad.

    • false (sin procesar): Es la opción predeterminada. Devuelve el límite alineado con la cuadrícula. Los bordes aparecen escalonados a lo largo de las celdas de la cuadrícula. Es ideal para la exactitud analítica, como las pruebas estrictas de punto en polígono.
    • true (Suavizado): Redondea las esquinas pronunciadas para la visualización del mapa, a la vez que conserva aproximadamente el área de cada anillo. El límite ya no sigue las celdas de la cuadrícula.
      Isócrona con y sin suavizado
      Isócrona con y sin suavizado