Konsep utama

Untuk membuat isochrone, berikan origin, mode perjalanan seperti mengemudi, kendaraan roda dua, bersepeda, atau berjalan kaki, dan batas waktu ke API. Anda juga dapat menyesuaikan preferensi pemilihan rute dan tampilan visual poligon yang dihasilkan.

Mode perjalanan

Gunakan parameter travelMode (travel_mode) yang diperlukan untuk menentukan mode transportasi:

  • DRIVE: Menghitung keterjangkauan untuk mobil penumpang di sepanjang jalan yang dapat dilalui kendaraan menggunakan batas kecepatan yang diposting, hierarki jalan, penalti belokan, dan (opsional) kondisi lalu lintas langsung.
  • TWO_WHEELER: Menghitung keterjangkauan untuk kendaraan bermotor roda dua (seperti sepeda motor atau skuter) menggunakan aturan akses jalan khusus mode dan kecepatan yang dimodelkan lebih rendah daripada DRIVE di jalan berkecepatan tinggi. Akibatnya, isokron TWO_WHEELER biasanya mencakup area yang lebih besar dari BICYCLE, tetapi lebih kecil dari DRIVE di sepanjang jalan raya berkecepatan tinggi.
  • BICYCLE: Menghitung keterjangkauan bagi pengendara sepeda di sepanjang jalan, jalur sepeda, dan jalur bersama yang dapat diakses sepeda, dengan kecepatan yang disesuaikan untuk jenis dan kemiringan jalan, tidak termasuk jalan raya dan jalan bebas hambatan dengan akses terkontrol.
  • WALK: Menghitung keterjangkauan bagi pejalan kaki di sepanjang trotoar, jalur pejalan kaki, jalur setapak, dan jalan yang dapat diakses pejalan kaki, dengan kecepatan berjalan kaki yang disesuaikan dengan kemiringan. Perjalanan berjalan kaki mengabaikan pembatasan kendaraan satu arah.

Horizon waktu

Batasan utama yang Anda berikan ke layanan adalah travelDuration (travel_duration). Batasan ini menentukan rentang waktu untuk penghitungan.

  • Durasi minimum dan maksimum: Durasi harus minimal "1s" (1 detik). Nol ("0s"), durasi negatif, dan durasi sub-detik di bawah 1 detik (seperti "0.5s") akan menampilkan error 400 INVALID_ARGUMENT. API ini mendukung waktu perjalanan maksimum 3.600 detik (1 jam) untuk mode DRIVE dan TWO_WHEELER, serta 7.200 detik (2 jam) untuk mode WALK dan BICYCLE.
  • Batas minimum poligon: Karena API mengonversi segmen jalan yang dijangkau menjadi sel petak spasial, durasi yang sangat singkat akan menampilkan poligon kecil yang mencakup sel petak di sekitar titik awal yang diposisikan.
  • Performa: Waktu penghitungan diskalakan dengan durasi yang diminta dan mode perjalanan yang dipilih. Isochron mengemudi satu jam mencakup area geografis dan jaringan jalan yang jauh lebih besar daripada isochron berjalan kaki satu jam, sehingga menghasilkan latensi yang lebih tinggi untuk permintaan mengemudi.
  • Pemformatan: Karena API menggunakan google.protobuf.Duration, durasi harus diformat sebagai string yang diakhiri dengan "s" (misalnya, "3600s"), bukan bilangan bulat.

Titik asal dan penyesuaian jalan

Anda dapat menentukan titik awal isochrone dengan dua cara:

  • Koordinat (location): Pasangan lintang dan bujur. Berikan latitude (dalam [-90, 90]) dan longitude (dalam [-180, 180]). Jika Anda menghilangkan salah satunya, API akan memperlakukannya sebagai 0.0, yang menempatkan titik di Khatulistiwa atau meridian utama. Jika Anda menghilangkan keduanya ({}) atau mengirim (0, 0), API akan menampilkan error 400 INVALID_ARGUMENT.
  • ID Tempat (place): ID unik untuk tempat tertentu di Google Maps. Saat Anda memberikan ID tempat, layanan akan me-resolve tempat tersebut ke koordinat sentroidnya dan mengikat titik tersebut ke jalan terdekat. Gunakan format nama resource yang diawali dengan places/ (misalnya, places/ChIJIQBpAG2ahYAR_6128GcTUEo); ID tempat tanpa awalan places/ juga diterima. Untuk informasi selengkapnya tentang ID tempat, lihat ID Tempat.

Terlepas dari metode inputnya, API tidak menghitung waktu perjalanan dari titik fisik yang tepat jika titik tersebut tidak berada di jalan, seperti di dalam taman atau bangunan. Untuk menangani situasi ini, layanan menggunakan pengikatan ke jalan. Pengepasan ke jalan memiliki fitur berikut:

  • Pengepasan cerdas: Layanan ini mencoba mengepaskan titik awal Anda ke segmen jalan terdekat yang dapat dilalui.
  • Mode awareness: Logika penempatan mempertimbangkan travel_mode Anda. Jika Anda meminta DRIVE atau TWO_WHEELER, API akan mengabaikan jalur khusus pejalan kaki dan mencari jalan terdekat yang dapat dilalui kendaraan. Jika Anda meminta WALK, API akan memprioritaskan jalur dan trotoar yang dapat dilalui pejalan kaki.
  • Kasus kegagalan: Jika API tidak dapat menemukan segmen jalan yang sesuai dalam jarak penempatan maksimum dari titik asal Anda (sekitar 200 meter, atau kurang untuk WALK dan BICYCLE), API akan menampilkan error 404 NOT_FOUND. Fitur geografis yang besar (seperti taman, kampus, atau tempat wisata) mungkin memiliki centroid ID tempat yang lebih jauh daripada jarak snap dari jalan terdekat yang dapat digunakan oleh mode perjalanan; dalam kasus tersebut, teruskan koordinat location eksplisit dari pintu masuk jalan.

Arah perjalanan (Masuk versus Keluar)

Anda dapat menghitung keterjangkauan masuk dan keluar menggunakan parameter travelDirection (travel_direction):

  • FROM (Keluar): Menghitung area yang dapat dijangkau dari titik asal dalam batas waktu yang ditentukan. Hal ini cocok untuk kasus penggunaan seperti zona pengiriman atau cakupan layanan.
  • TO (Masuk): Menghitung area tempat Anda dapat melakukan perjalanan ke titik asal dalam batas waktu yang ditentukan. Hal ini cocok untuk menentukan zona tangkapan, seperti dari mana karyawan dapat berangkat untuk mencapai kantor pusat.

Kesadaran lalu lintas

Kontrol pengaruh data lalu lintas terhadap poligon yang dihasilkan dengan parameter routingPreference (routing_preference):

  • TRAFFIC_UNAWARE (Default): Menggunakan batas kecepatan arus bebas dan hierarki jalan untuk membuat poligon isokron. Hal ini menghasilkan bentuk deterministik yang tidak berfluktuasi berdasarkan waktu. Parameter ini ideal untuk analisis umum atau perencanaan skenario dasar pengukuran.
  • TRAFFIC_AWARE: Menghitung isokron menggunakan kondisi lalu lintas langsung pada waktu yang tepat saat permintaan diproses (stempel waktu keberangkatan atau kedatangan historis atau mendatang kustom tidak dapat dikonfigurasi di v1). Hal ini menyebabkan area yang dapat dijangkau menyusut selama kemacetan dan meluas selama jam tidak sibuk; dalam kondisi arus lancar atau di luar jam sibuk, TRAFFIC_AWARE dan TRAFFIC_UNAWARE mungkin menampilkan poligon yang hampir identik. Catatan: Pemilihan rute sesuai lalu lintas hanya didukung jika travelMode ditetapkan ke DRIVE atau TWO_WHEELER.

Penghalusan dan fidelitas

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

  • polygonFidelity: Mengontrol resolusi sel petak spasial yang digunakan untuk memperkirakan batas yang dapat dijangkau:

    • LOW: Menggunakan sel petak terbesar (lebar beberapa ratus meter). Paling cocok untuk mencakup area yang luas dengan lebih sedikit verteks dan tanpa celah internal, sehingga menghasilkan bentuk umum yang dapat melebih-lebihkan area yang dapat dijangkau di sepanjang koridor jalan yang sempit.
    • MEDIUM: Presisi dan jumlah verteks yang seimbang.
    • HIGH: Menggunakan sel petak terkecil (lebar sekitar 100-150 meter). Menghasilkan kecocokan yang lebih ketat dengan jaringan jalan yang dijangkau, tetapi dapat menghasilkan lubang interior di tempat jaringan jalan jarang.
    • POLYGON_FIDELITY_UNSPECIFIED: Jika tidak ditentukan, layanan akan memilih resolusi secara otomatis berdasarkan mode dan durasi perjalanan, menggunakan sel yang lebih kecil untuk durasi singkat dan untuk WALK, serta sel yang lebih besar untuk durasi panjang. Untuk membandingkan isochrone di berbagai durasi atau mode perjalanan, tetapkan polygonFidelity secara eksplisit.
      Fidelitas poligon tinggi, sedang, dan rendah
      Fidelitas poligon tinggi, sedang, dan rendah
  • enableSmoothing: Mengontrol apakah tepi bertingkat sel petak yang ditentukan oleh fidelitas dibulatkan.

    • false (Raw): Default. Menampilkan batas yang sejajar dengan petak. Tepi tampak bertingkat di sepanjang sel petak. Paling cocok untuk akurasi analisis, seperti pengujian titik dalam poligon yang ketat.
    • true (Smoothed): Membulatkan sudut tajam untuk tampilan peta visual sekaligus mempertahankan luas setiap cincin. Batasnya tidak lagi mengikuti sel petak.
      Isochrone dengan dan tanpa penghalusan
      Isokron dengan dan tanpa penghalusan