Penghalusan dan fidelitas
Anda dapat menyesuaikan tampilan dan presisi poligon output menggunakan parameter polygon_fidelity dan enable_smoothing. Meskipun opsi ini
independen, opsi ini bekerja sama untuk menentukan bentuk akhir.
polygonFidelity(polygon_fidelity): Resolusi. Mengontrol ukuran sel petak spasial yang mendasarinya yang digunakan untuk menghitung area yang dapat dijangkau.LOW: Menggunakan sel petak terbesar (lebar beberapa ratus meter). Paling cocok untuk mencakup area yang luas tanpa celah dan meminimalkan jumlah verteks, sehingga menghasilkan bentuk umum yang dapat melebih-lebihkan area yang dapat dijangkau di sepanjang koridor jalan yang sempit.MEDIUM: Presisi dan ukuran payload yang seimbang.HIGH: Menggunakan sel petak terkecil (lebar sekitar 100-150 meter). Menghasilkan kecocokan yang lebih ketat dengan jaringan jalan, dengan lebih banyak verteks, tetapi dapat menghasilkan lubang interior di tempat jaringan jalan jarang.- Default (
POLYGON_FIDELITY_UNSPECIFIED): Jika tidak ditentukan, layanan akan memilih resolusi secara otomatis berdasarkan mode dan durasi perjalanan, menggunakan sel yang lebih halus untuk durasi singkat dan untukWALK, serta sel yang lebih kasar untuk durasi panjang. Untuk membandingkan isochrone di berbagai durasi atau mode perjalanan, tetapkanpolygonFidelitysecara eksplisit agar menggunakan resolusi yang sama.
Ukuran sel merupakan perkiraan. Isochrones yang sangat besar mungkin digeneralisasi lebih lanjut untuk menjaga ukuran respons tetap dapat dikelola.
enableSmoothing(enable_smoothing): Estetika. Mengontrol apakah tepi bertingkat sel petak yang ditentukan oleh fidelitas dibulatkan.false(Raw): Menampilkan batas yang sejajar dengan petak. Tepi tampak bergerigi atau berundak, yang mencerminkan sel petak. Paling cocok untuk akurasi analisis, seperti pengujian titik dalam poligon yang ketat.true(Dihaluskan): Membulatkan sudut sambil mempertahankan perkiraan area setiap cincin. Paling cocok untuk tampilan visual di peta. Karena batas tidak lagi mengikuti sel petak, jangan gunakan batas tersebut untuk pengujian titik dalam poligon yang ketat.
Cara interaksinya: Fidelitas menetapkan detail dasar pengukuran yang menjadi dasar tindakan algoritma penghalusan.
- Fidelitas Tinggi + Penghalusan: Menghasilkan bentuk yang mendetail dan terlihat organik yang mengikuti ujung jalan dengan cermat.
- Low Fidelity + Smoothing: Menghasilkan bentuk "gumpalan" yang luas dan umum.
Ukuran payload dan rendering
Isokron besar (terutama permintaan berdurasi panjang dengan fidelitas HIGH) dapat
berisi puluhan ribu koordinat, dan respons JSON yang tidak dikompresi dapat
berukuran beberapa ratus kilobyte atau lebih.
- Bandwidth: Perhatikan bahwa ukuran respons JSON cukup besar untuk permintaan durasi maksimum dengan fidelitas tinggi.
- Rendering: Merender poligon yang sangat mendetail akan memengaruhi performa klien. Untuk mengurangi jumlah verteks dan ukuran payload, pilih
polygonFidelity: MEDIUMatauLOW, atau sederhanakan geometri pada klien sebelum merender menggunakan algoritma penyederhanaan garis seperti Douglas-Peucker.
Latensi dan waktu tunggu klien
Latensi respons meningkat seiring dengan ukuran jaringan jalan yang dilalui: durasi singkat serta mode WALK dan BICYCLE adalah yang tercepat, sedangkan permintaan DRIVE dan TWO_WHEELER yang panjang (terutama dengan TRAFFIC_AWARE) memerlukan waktu paling lama.
- Waktu tunggu klien yang direkomendasikan: Konfigurasikan batas waktu klien HTTP atau gRPC ke setidaknya 30 detik agar permintaan yang panjang tidak dibatalkan lebih awal oleh waktu tunggu klien yang singkat.
Penanganan error
Terapkan logika percobaan ulang dengan backoff eksponensial dan jitter untuk respons batas kapasitas 429
RESOURCE_EXHAUSTED dan error server 5xx. Jangan
mencoba ulang error klien 400, 403, atau 404 tanpa mengubah permintaan Anda:
INVALID_ARGUMENT (400): PastikantravelDurationberada di antara1sdan3600s(DRIVE/TWO_WHEELER) atau7200s(WALK/BICYCLE),locationtidak dihilangkan dan bukan(0, 0)(atauplaceadalah ID tempat yang valid), danTRAFFIC_AWAREhanya digunakan denganDRIVEatauTWO_WHEELER.latitudeataulongitudeyang dihilangkan akan diperlakukan sebagai0.0, sehingga menghilangkan salah satunya biasanya tidak menyebabkan error400(kecuali jika nilai lainnya juga0.0). Periksa kembali kedua nilai jika isokron muncul di tempat yang salah.PERMISSION_DENIED (403): Pastikan kunci API atau token OAuth Anda disertakan dan Isochrones API serta penagihan diaktifkan di project Google Cloud Anda.NOT_FOUND (404):placetidak dapat di-resolve ke lokasi, atau titik awal tidak dapat diposisikan ke jalan terdekat yang dapat digunakan oleh mode perjalanan (dalam jarak sekitar 200 meter, atau kurang untukWALKdanBICYCLE).RESOURCE_EXHAUSTED (429): Project Anda melebihi kuota permintaan per menit (default 300 QPM). Coba lagi dengan backoff eksponensial.