Skip to main content
Apa Itu Map Matching? Snapping GPS Trace ke Jaringan Jalan
Guides

Apa Itu Map Matching? Snapping GPS Trace ke Jaringan Jalan

Map matching mengubah GPS trace yang noisy menjadi jalur bersih di road graph. Pelajari cara kerja Hidden Markov Model, OSRM, dan Valhalla

Brent van der Heiden6 min read
#map matching#gps#hidden markov model#osrm#valhalla#fleet telemetry#maps api

Map matching adalah langkah tidak glamor namun esensial yang mengubah awan titik GPS yang noisy menjadi jalur bersih di sepanjang jalan nyata. Tanpanya, dashboard fleet menampilkan truk yang berjalan menembus gedung, model pricing asuransi tidak bisa membedakan jalan tol dari jalan samping, dan trip ride-share terlihat seperti rencana terbang merpati mabuk. Dengannya, setiap titik menjadi posisi pada segmen yang dikenal di road graph, dengan arah perjalanan dan jarak di sepanjang edge melekat.

Panduan ini menjelaskan apa sebenarnya map matching, mengapa GPS mentah tidak cukup, bagaimana algoritma bekerja, dan di mana ia muncul dalam sistem production.

Apa Itu Map Matching Sebenarnya

Dalam bentuk paling sederhana, map matching mengambil dua input: sebuah urutan GPS fix yang time-ordered (latitude, longitude, timestamp, sering kali speed dan heading) dan jaringan jalan yang routable (biasanya OpenStreetMap, diproses menjadi graph berisi edge dan node). Ia menghasilkan output di mana setiap fix di-snap ke edge tertentu dalam graph itu, dengan posisi presisi di sepanjang edge dan metadata segmen yang melekat.

Hasilnya adalah polyline yang mengikuti jalan nyata, ditambah daftar segmen jalan yang sebenarnya dilintasi. Output kedua itu yang membuka analitik downstream: batas kecepatan per segmen, kelas jalan, jumlah belokan, atribusi negara dan region, serta jarak presisi per edge alih-alih jarak garis lurus antar fix.

Trace saja memberi tahu Anda kira-kira ke mana sebuah device pergi. Trace yang sudah di-match memberi tahu jalan apa yang ia gunakan.

Kenapa GPS Mentah Tidak Cukup

GPS consumer-grade akurat sekitar 5 meter dalam kondisi baik dan 10 hingga 30 meter pada ponsel atau tracker murah dalam pemakaian normal. Tiga problem struktural memperburuk itu di telemetri production.

Urban canyon. Di pusat kota padat, gedung tinggi memblokir line-of-sight langsung ke satelit dan memantulkan sinyal dari fasad kaca. Receiver melihat salinan sinyal yang tertunda (multipath) dan menghitung posisi yang bisa duduk satu blok penuh dari lokasi sebenarnya, sering kali di jalan paralel.

Cold-start drift. Ketika sebuah device dinyalakan, ia bisa butuh 30 hingga 90 detik untuk mendapatkan cukup satelit demi fix yang confident. Beberapa titik pertama dalam trace apa pun sering meleset 50 meter atau lebih, yang persis terjadi saat vehicle keluar dari tempat parkir atau keluar dari depot.

Sparse sampling. Tracker IoT yang bertenaga baterai sering mencatat satu fix setiap 30 detik atau setiap menit untuk menghemat daya. Pada kecepatan jalan tol itu lebih dari satu kilometer antar titik, dan garis lurus antara mereka jarang cocok dengan rute sebenarnya. Matcher harus mengisi gap dengan merouting melalui graph, bukan dengan menggambar garis.

Berlapis-lapis bersamaan, kesalahan ini berarti sistem apa pun yang memperlakukan fix mentah sebagai ground truth akan diam-diam menghasilkan jarak salah, jalan salah, dan billing salah.

Bagaimana Map Matching Bekerja

Pendekatan production yang dominan adalah formulasi Hidden Markov Model yang dipopulerkan Newson dan Krumm pada 2009. Road graph dimodelkan sebagai sekumpulan hidden state (edge mana yang sebenarnya dilewati device) dan GPS trace sebagai observasi noisy dari state-state itu. Dua probabilitas mendorong matcher.

Emission probability. Untuk setiap fix, algoritma menemukan edge kandidat dalam search radius (biasanya 25 hingga 200 meter) dan memberi skor pada masing-masing berdasarkan seberapa masuk akal posisi sebenarnya berada di edge itu mengingat fix yang teramati. Skornya biasanya berupa Gaussian pada jarak tegak lurus dari fix ke edge.

Transition probability. Untuk setiap pasangan fix berurutan, algoritma memberi skor setiap pasangan edge kandidat berdasarkan seberapa masuk akal berpindah dari yang pertama ke yang kedua dalam waktu yang berlalu. Ini memerlukan routing melalui graph antar kandidat dan membandingkan jarak rute dengan jarak great-circle antar fix. Ketidakcocokan diberi pinalti, sehingga lompatan yang tidak mungkin (melintasi sungai, melawan jalan satu arah, pada kecepatan yang tidak diizinkan kelas jalan) dihancurkan.

Algoritma Viterbi kemudian menemukan urutan edge tunggal yang paling mungkin di seluruh trace dalam satu pass. Baik OSRM dan Valhalla mengirim production HMM matcher berdasarkan pendekatan ini, dengan ekstensi untuk sparse trace, time gap, dan break point di mana device meninggalkan jaringan.

Di Mana Map Matching Muncul

Map matching adalah kapabilitas back-office yang hampir tidak pernah punya UI, tetapi ia adalah ruang mesin di balik daftar panjang produk.

  • Fleet telemetry. Fleet truk dan van mencatat satu fix setiap beberapa detik. Map matching mengubah stream menjadi segment-level mileage per driver, per vehicle, dan per region, yang memberi makan payroll, rekonsiliasi bahan bakar, dan kepatuhan rute.
  • Analitik perilaku driver. Event hard braking dan speeding hanya bermakna ketika Anda tahu batas kecepatan segmen yang dilewati driver. Itu memerlukan edge yang sudah di-match, bukan sekadar fix mentah.
  • Rekonstruksi trip ride-sharing. Ketika seorang penumpang menyengketakan tarif, platform merekonstruksi trip dari log GPS driver. Trace yang sudah di-match memberikan polyline audit-grade di sepanjang jalan nyata dan jarak yang dapat dipertahankan.
  • Asuransi berbasis trip. Polis pay-per-mile dan behaviour-based butuh mileage per-trip yang akurat dan exposure kelas jalan. Error 5 persen pada GPS mentah adalah perbedaan antara untung dan rugi di seluruh portofolio.
  • IoT asset tracking. Container kargo, e-scooter, dan peralatan sewa mengirim fix yang sparse. Map matching menjahitnya menjadi journey dengan jarak yang benar, bahkan ketika fix berjarak menit-menit.
  • Analitik penggunaan jalan. Otoritas kota dan tol memakai trace yang sudah di-match untuk mengestimasi flow, mengidentifikasi segmen yang macet, dan mempelajari mode share tanpa memasang sensor fisik.

Jebakan di Production

Map matching terlihat bersih di demo dan menjadi jelek di bawah load dunia nyata.

Sparse trace. Ketika fix berjarak lebih dari satu kilometer, matcher harus berkomitmen pada rute tunggal di antaranya. Jika dua rute yang masuk akal eksis, yang salah akan menang sesekali. Memperluas candidate window membantu tetapi meledakkan runtime.

Segmen off-road. Vehicle secara reguler meninggalkan jaringan: tempat parkir, jalan privat, ferry, jalur kerikil. Matcher yang naif akan memaksa ini ke jalan terdekat dan menghasilkan mileage hantu. Production matcher mendeteksi break point dan mengeluarkan gap yang tidak di-match alih-alih menebak.

Jalan paralel. Jalan tol plus jalan frontage, divided highway dengan carriageway terpisah, dan grid kota padat semuanya menghasilkan kandidat yang skornya hampir sama. Sinyal heading dan speed (ketika tersedia) adalah yang memutus seri.

Stitching multi-hari. Sebuah vehicle yang parkir semalam menghasilkan dua journey terpisah, bukan satu trace dengan gap 12 jam. Memecah input menjadi trip sebelum matching biasanya lebih murah dan lebih akurat dibanding menjalankan satu Viterbi pass raksasa.

Privasi. Trace yang sudah di-match adalah catatan resolusi tinggi tentang di mana seseorang berada dan kapan. Itu adalah personal data di bawah GDPR dan rezim setara. Penyimpanan, retensi, dan log akses harus sesuai sensitivitas, dan agregasi harus terjadi sedini mungkin di pipeline.

Map Matching di MapAtlas

MapAtlas Map Matching API mengambil sebuah urutan GPS fix dan mengembalikan polyline yang sudah di-snap di sepanjang jaringan jalan, dengan edge ID per titik, metadata segmen, dan confidence score pada setiap match. Ia menangani sparse trace, deteksi break-point untuk segmen off-road, dan kasus production umum (fleet telemetry, rekonstruksi trip, IoT tracking) tanpa memaksa Anda meng-host cluster OSRM atau Valhalla sendiri.

Ia berpasangan secara alami dengan MapAtlas Directions API ketika Anda perlu membandingkan rute historis yang sudah di-match dengan yang optimal, dan dengan MapAtlas Geocoding API ketika Anda perlu mengubah awal dan akhir trip yang sudah di-match menjadi alamat yang dapat dibaca manusia untuk dashboard atau receipt customer-facing.

Trace yang sudah di-match tidaklah flashy. Ia hanyalah polyline. Tetapi itulah polyline yang memungkinkan setiap sistem downstream, dari billing hingga analitik hingga compliance, sepakat tentang jalan apa yang sebenarnya dilewati sebuah device.

Pertanyaan yang Sering Diajukan

Apa itu map matching?

Map matching adalah proses mengambil sebuah urutan titik GPS yang noisy dan menyelaraskannya dengan jaringan jalan di bawahnya sehingga setiap fix menjadi sebuah posisi pada segmen jalan nyata. Alih-alih sebaran titik yang melayang melintasi gedung dan sungai, Anda mendapatkan polyline bersih yang mengikuti jalan sebenarnya, dengan ID segmen, arah perjalanan, dan jarak di sepanjang setiap edge yang melekat pada setiap titik.

Kenapa kita tidak bisa langsung memplot titik GPS mentah di peta?

GPS mentah akurat sekitar 5 hingga 30 meter di langit terbuka dan jauh lebih buruk di urban canyon, terowongan, dan parkir gedung. Refleksi multipath dari gedung tinggi, drift saat cold-start, dan sample rate serendah satu fix per 30 detik berarti trace akan sering duduk di luar jalan, melompat antar jalan paralel, atau melewatkan belokan sepenuhnya. Map matching memperbaiki ketiga problem itu dengan menalar tentang road graph, bukan mempercayai setiap fix secara terpisah.

Bagaimana cara kerja Hidden Markov Model map matching?

Sebuah HMM memperlakukan segmen jalan yang sebenarnya pada setiap timestep sebagai hidden state dan fix GPS sebagai observasi noisy dari state itu. Setiap edge kandidat di dekat sebuah fix mendapat emission probability berdasarkan jarak, dan setiap pasangan kandidat berurutan mendapat transition probability berdasarkan apakah jaringan jalan benar-benar mengizinkan move itu pada kecepatan yang teramati. Algoritma Viterbi kemudian berjalan melalui trace dan memilih urutan edge yang paling mungkin. OSRM dan Valhalla keduanya mengirim production HMM matcher berdasarkan pendekatan ini.

Untuk apa map matching dipakai di production?

Fleet telemetry, analitik perilaku driver, rekonstruksi trip ride-sharing, asuransi berbasis usage dan trip, IoT asset tracking, dan analitik penggunaan jalan semuanya bergantung pada map matching. Di mana pun Anda punya stream GPS ping dan butuh tahu jalan mana device-nya berada, sejauh mana ia berjalan, dan belokan apa yang diambilnya, map matching adalah langkah yang mengubah titik mentah menjadi sesuatu yang dapat ditindaklanjuti sistem billing, routing engine, atau dashboard.

Merasa ini berguna? Bagikan.

Tentang penulis

Brent van der Heiden

Ditulis oleh

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. He writes about geospatial infrastructure, AI search visibility, and how location data powers the products people rely on every day.

Lihat semua artikel
Kembali ke blog