Praktik terbaik Isochrones API

Penghalusan dan fidelitas

Anda dapat menyesuaikan tampilan dan presisi poligon output menggunakan parameter polygon_fidelity dan enable_smoothing. Meskipun opsi ini independen, keduanya bekerja sama untuk menentukan bentuk akhir.

  • polygon_fidelity: Resolusi. Mengontrol ukuran sel petak dasar (sel S2) yang digunakan untuk menghitung area yang dapat dijangkau.
    • LOW: Menggunakan sel petak yang lebih besar. Paling baik untuk mencakup area yang luas tanpa celah, sehingga menghasilkan bentuk umum.
    • MEDIUM: Presisi yang seimbang.
    • HIGH: Menggunakan sel petak yang lebih kecil. Menghasilkan kecocokan yang lebih ketat dengan jaringan jalan, tetapi dapat menghasilkan area kosong atau "lubang" jika jaringan jalan jarang.
    • Default: Jika tidak ditentukan, layanan akan memilih fidelitas secara dinamis berdasarkan durasi perjalanan yang diminta.
  • enable_smoothing: Estetika. Mengontrol apakah tepi tajam sel petak yang ditentukan oleh fidelitas dibulatkan.
    • false (Mentah): Menampilkan perhitungan geometris yang tepat. Tepi tampak bergerigi atau bertahap, yang mencerminkan sel petak. Paling baik untuk akurasi analitis, seperti pengujian titik dalam poligon yang ketat.
    • true (Dihaluskan): Menerapkan algoritma pascapemrosesan untuk membulatkan sudut. Paling baik untuk tampilan visual di peta.

Cara interaksinya: Fidelitas menetapkan detail dasar yang digunakan oleh algoritma penghalusan.

  • Fidelitas Tinggi + Penghalusan: Menghasilkan bentuk detail dan organik yang mengikuti ujung jalan.
  • Fidelitas Rendah + Penghalusan: Menghasilkan bentuk "blob" yang luas dan umum.

Ukuran payload dan rendering

Isokron besar dapat berisi ribuan koordinat dan payload dapat berukuran antara 300 dan 500 kilobyte.

  • Bandwidth: Perhatikan bahwa ukuran respons JSON signifikan untuk permintaan durasi maksimum.
  • Rendering: Rendering poligon yang sangat detail akan memengaruhi performa. Pertimbangkan untuk menggunakan parameter enable_smoothing atau library penyederhanaan sisi klien untuk mengurangi jumlah verteks yang akan ditampilkan.

Penanganan error

Terapkan logika percobaan ulang dengan backoff eksponensial untuk error server 5xx. Namun, jangan coba lagi error klien 4xx tanpa mengubah parameter Anda:

  • INVALID_ARGUMENT (400): Pastikan durasi Anda positif dan berada dalam batas untuk mode yang dipilih, yaitu maksimal 3.600 detik untuk DRIVE, atau 7.200 detik untuk mode lainnya.
  • NOT_FOUND (404): Titik asal gagal dipaskan ke jalan. Coba pindahkan koordinat lebih dekat ke jalan yang diketahui atau pastikan wilayah tersebut didukung.