Práticas recomendadas da API Isochrones

Suavização e fidelidade

É possível personalizar a aparência e a precisão dos polígonos de saída usando os parâmetros polygon_fidelity e enable_smoothing. Embora essas opções sejam independentes, elas funcionam juntas para determinar a forma final.

  • polygon_fidelity:resolução. Controla o tamanho das células de grade subjacentes (células S2) usadas para calcular a área acessível.
    • LOW: usa células de grade maiores. É melhor para cobrir grandes áreas sem lacunas, resultando em uma forma generalizada.
    • MEDIUM: precisão equilibrada.
    • HIGH: usa células de grade menores. Resulta em um ajuste mais apertado à rede viária, mas pode produzir áreas vazias ou "buracos" onde a rede viária é escassa.
    • Padrão:se não for especificado, o serviço selecionará dinamicamente a fidelidade com base na duração da viagem solicitada.
  • enable_smoothing:a estética. Controla se as bordas nítidas das células de grade definidas pela fidelidade são arredondadas.
    • false (bruto) : retorna o cálculo geométrico exato. As bordas aparecem irregulares ou escalonadas, refletindo as células de grade. É melhor para acurácia analítica, como testes rigorosos de ponto em polígono.
    • true (suavizado) : aplica um algoritmo de pós-processamento para arredondar os cantos. É melhor para exibição visual em mapas.

Como eles interagem: a fidelidade define o detalhe de linha de base em que o algoritmo de suavização atua.

  • Alta fidelidade + suavização:produz uma forma detalhada e orgânica que segue de perto as extremidades das estradas.
  • Baixa fidelidade + suavização:produz uma forma de "bolha" ampla e generalizada.

Tamanho do payload e renderização

Grandes isócronas podem conter milhares de coordenadas, e os payloads podem ter entre 300 e 500 kilobytes.

  • Largura de banda:o tamanho da resposta JSON é significativo para solicitações de duração máxima.
  • Renderização:a renderização de polígonos extremamente detalhados afeta o desempenho. Considere usar o parâmetro enable_smoothing ou bibliotecas de simplificação do lado do cliente para reduzir a contagem de vértices para exibição.

Tratamento de erros

Implemente a lógica de repetição com espera exponencial para erros de servidor 5xx. No entanto, não repita erros de cliente 4xx sem mudar os parâmetros:

  • INVALID_ARGUMENT (400): verifique se a duração é positiva e está dentro do limite para o modo selecionado, que é de no máximo 3.600 segundos para DRIVE ou 7.200 segundos para outros modos.
  • NOT_FOUND (404): O ponto de origem não conseguiu alinhar a uma estrada. Tente mover a coordenada para mais perto de uma rua conhecida ou garantir que a região seja compatível.