Logistik
Templat kueri SQL untuk analitik logistik dan transportasi, mencakup optimalisasi rute, pemantauan kargo, pemanfaatan armada, dan kinerja pengiriman
Logistik adalah ekosistem kompleks yang melibatkan koordinasi transportasi, operasi gudang, inventaris, dan pelaksanaan pengiriman. Mengintegrasikan telematika ke dalam proses logistik memungkinkan perusahaan mengumpulkan data waktu nyata tentang Kendaraan, Supir, rute, dan kondisi muatan, yang secara signifikan meningkatkan pengambilan keputusan dan efisiensi operasional.
Navixy IoT Query, dengan kemampuan penyerapan data dan analitik deret waktu yang andal, mendukung transformasi digital operasi logistik dengan memungkinkan visibilitas mendalam ke setiap tahap siklus hidup. Kemampuan penyerapan telematika yang andal, memberikan visibilitas komprehensif terhadap operasi ini. Data GPS waktu nyata, diagnostik data sensor, geofencing, dan analitik sensor memungkinkan operator logistik mendigitalkan alur kerja, mengotomatiskan kontrol, dan membuat keputusan yang tepat.
Manajemen rute
Optimalkan perutean kendaraan, pastikan pengiriman yang efisien, dan kurangi keterlambatan
Jumlah perjalanan per hari Jumlah jarak tempuh per kendaraan per hari (7 hari terakhir)
Pemantauan kargo
Pastikan kondisi transportasi yang tepat untuk barang sensitif
Peristiwa pelanggaran suhu (dan kelembapan) dalam 7 hari terakhir
Operasional kendaraan
Lacak pemanfaatan armada, pastikan pemeliharaan, dan kurangi waktu henti
Ringkasan jam mesin per kendaraan / supir / hari (7 hari terakhir) Analisis waktu henti kendaraan Pelacakan aset tanpa gerakan
Keamanan & keselamatan rute
Deteksi penyalahgunaan, aktivitas tidak sah, dan pelanggaran Keselamatan
Deteksi penyimpangan Rute- Perhentian tidak sah (24 jam terakhir) Deteksi penggunaan di luar jam kerja
Manajemen kepatuhan
Pantau perilaku Supir, tegakkan kebijakan dan kepatuhan operasional
Ringkasan Jam mesin per kendaraan / Supir / hari (7 hari terakhir) Deteksi penggunaan di luar jam kerja
Analisis pascapengiriman
Evaluasi efisiensi operasional dan kinerja historis
Laporan log peristiwa kendaraan Jumlah Jarak tempuh per kendaraan per hari (7 hari terakhir) Jumlah perjalanan per hari Pelacakan Aset tanpa Gerakan
Pelacakan Aset tanpa Gerakan
Kasus ini mengidentifikasi Aset (misalnya, Kendaraan atau trailer) yang belum mengubah GPS mereka dibandingkan koordinat minimum dan maksimum selama periode tersebut. Jika kedua nilai jatuh dalam rentang yang sangat sempit (ambang toleransi, misalnya ±0,01 derajat), kami menandai aset sebagai tidak bergerak. Kueri juga bergabung dengan tabel objek dan Kendaraan dalam raw_business_data untuk mengambil label Aset yang bermakna untuk keluaran hasil.
Analisis waktu henti kendaraan
Kasus ini berfokus pada analisis berapa lama Kendaraan tidak beroperasi karena Pemeliharaan, kerusakan, atau tidak aktif. Metrik waktu henti sangat penting bagi operasi logistik untuk memantau kesehatan Armada, mengurangi waktu menganggur, dan meningkatkan pemanfaatan keseluruhan serta efisiensi Penjadwalan.
Inti analisis waktu henti terletak pada pemanfaatan tabel vehicle_service_tasks dari raw_business_data, yang mencatat keduanya peristiwa Pemeliharaan terencana dan tidak terencana. Setiap Tugas berisi start_date dan end_date, yang merepresentasikan periode waktu henti. Dengan memfilter untuk Tugas layanan yang selesai, kami dapat menghitung durasi pasti setiap kendaraan tidak beroperasi.
Query ini menghitung total waktu henti per kendaraan dengan menjumlahkan durasi seluruh tugas servisnya (dalam jam). Query ini juga memungkinkan perincian berdasarkan Pemeliharaan terencana versus tidak terencana dengan menggunakan flag is_unplanned. Agar hasilnya lebih dapat ditindaklanjuti, query ini bergabung dengan tabel Kendaraan untuk menyertakan label kendaraan, nomor registrasi, dan informasi model.
Deteksi penyimpangan Rute
Kasus ini mengidentifikasi instance ketika Kendaraan menyimpang dari Rute yang ditetapkan atau diharapkan — khususnya zona geofence atau koridor pengiriman. Melacak penyimpangan seperti itu membantu memastikan kepatuhan Rute, mengurangi keterlambatan, mendeteksi perilaku Mengemudi yang berisiko, dan mempertahankan SLA pengiriman.
Logika ini membandingkan posisi GPS aktual kendaraan dari tracking_data_core (di skema raw_telematics_data) dengan zona geografis yang telah ditentukan dari tabel zones di raw_business_data. Zona-zona ini merepresentasikan Rute yang ditetapkan atau segmen Rute. Dengan menggunakan perbandingan geometri melalui ST_DWithin, kami menentukan apakah sebuah titik berada di dalam atau di luar area Rute yang dibuffer.
Query ini menggabungkan setiap posisi GPS dengan setiap zona Rute yang diketahui menggunakan gabungan spasial CROSS JOIN, lalu menerapkan ST_DWithin() untuk memeriksa apakah kendaraan berada di dalam koridor yang diizinkan. Kami mengisolasi baris ketika kendaraan berada di luar semua Rute yang diberi geofence dan menandainya sebagai penyimpangan. Hasil akhir mencantumkan penyimpangan ini, termasuk perangkat, stempel waktu, label kendaraan, dan seberapa jauh titik tersebut dari pusat zona terdekat.
Ringkasan Jam mesin per kendaraan / Supir / hari (7 hari terakhir)
Kasus ini mengukur berapa lama mesin aktif untuk setiap kendaraan secara harian, sehingga manajer Armada dapat melacak utilisasi, mengidentifikasi penggunaan berlebihan atau kurang, dan mengorelasikan aktivitas dengan penugasan supir. Ketika dikaitkan dengan supir, ini juga mendukung validasi jam kerja dan analisis kinerja.
Tabel states dalam raw_telematics_data merekam indikator status mesin deret waktu, biasanya dengan state_name seperti 'pengapian' dan value 1 (menyala) atau 0 (mati). Untuk menghitung jam mesin, kami menemukan semua transisi bertanda waktu untuk setiap perangkat dan menghitung durasi saat mesin menyala (1).
Untuk mengaitkan aktivitas mesin ke keduanya Kendaraan dan Supir, kami menggunakan tabel pelacak, Kendaraan, dan riwayat Supir dari raw_business_data. Kami mengaitkan setiap catatan status ke Supir saat ini pada Pelacak tersebut (melalui riwayat penugasan Supir) dan ke Kendaraan yang sesuai. Lalu, kami membuat Kelompok data berdasarkan hari, Kendaraan, dan Supir, dengan menjumlahkan total waktu mesin aktif (dalam jam).
Peristiwa pelanggaran suhu (dan kelembapan) dalam 7 hari terakhir
Kasus ini mengidentifikasi pembacaan sensor — seperti suhu atau kelembapan — yang melampaui ambang batas kritis selama transportasi. Pemantauan pelanggaran semacam itu sangat penting bagi industri yang mengangkut barang mudah rusak (misalnya, makanan, farmasi) untuk memastikan kepatuhan terhadap persyaratan rantai dingin dan mencegah kerusakan.
Kueri ini mengekstrak data masukan sensor dari tabel inputs pada skema raw_telematics_data. Setiap baris merepresentasikan pembacaan sensor (misalnya, suhu, kelembapan) yang direkam pada stempel waktu tertentu oleh perangkat. Kami memfilter catatan ini untuk hanya menyertakan yang dari 7 hari terakhir.
Logika pemfilteran utama didasarkan pada pola nama sensor dan perbandingan nilai numerik mereka terhadap ambang batas (misalnya, >25°C untuk suhu, >80% untuk kelembapan). Karena value disimpan sebagai teks, kami mengonversinya ke numerik sebelum menerapkan kondisi ambang batas. Untuk memperkaya hasil, kami melakukan join dengan tabel objects untuk mengambil label kendaraan atau Aset, yang meningkatkan kemudahan interpretasi bagi manajer Armada.
Perhentian tidak sah (24 jam terakhir)
Kasus ini mengidentifikasi Perhentian tanpa izin atau tidak direncanakan dilakukan oleh kendaraan dalam 24 jam terakhir. Ini membantu mendeteksi potensi pelanggaran rute pengiriman, jeda tanpa izin, atau waktu menganggur yang dapat memengaruhi efisiensi bahan bakar dan kinerja SLA.
Kueri menganalisis titik lokasi dengan kecepatan rendah atau nol Menggunakan kueri yang menggunakan tabel tracking_data_core dari raw_telematics_data untuk mengekstrak data lokasi deret waktu dan kecepatan. Sebuah perhentian terdeteksi ketika kecepatan turun di bawah 3 km/jam selama lebih dari 2 menit. Dengan menggunakan fungsi LAG dan LEAD, kueri ini membagi periode berkecepatan rendah ini untuk menentukan stempel waktu mulai dan akhir perhentian.
Untuk mendeteksi perhentian tanpa izin, memfilter lokasi yang berada dalam zona geofence yang dikenal zona geofence (tabel zones) menggunakan ST_DWithin milik PostGIS. Hanya Perhentian di luar penyangga zona mana pun Dilaporkan. Hasilnya mencakup ID kendaraan, label Pelacak, registrasi, stempel waktu, durasi, dan koordinat untuk setiap pemberhentian.
Deteksi penggunaan di luar jam operasional
Kasus ini mengidentifikasi kejadian ketika Kendaraan dioperasikan di luar jam operasional normal — yang didefinisikan di sini sebagai Senin sampai Jumat, 09:00–18:00. Deteksi seperti itu sangat penting untuk menandai penggunaan tanpa izin, mengidentifikasi potensi penyalahgunaan kendaraan, dan meningkatkan Keamanan Aset.
Logika ini dibangun di atas tabel tracking_data_core dari raw_telematics_data, yang mencatat kejadian GPS berstempel waktu per perangkat. Kami menurunkan lokal hari dalam pekan dan jam penggunaan dari setiap entri device_time dan memfilter rekaman di luar jendela bisnis yang ditentukan (yaitu, sebelum pukul 9 pagi, setelah pukul 6 sore, atau kapan saja pada akhir pekan).
Untuk memberikan kejelasan, kami memperkaya data GPS dengan metadata Pelacak dan kendaraan dari raw_business_data (misalnya, label kendaraan, registrasi, ID Pelacak). Untuk ringkasan yang lebih bermakna, kami secara opsional mengagregasi penggunaan untuk menghitung berapa banyak kejadian di luar jam kerja yang terjadi per kendaraan dan kapan terjadinya. Ini dapat membantu mengidentifikasi pola atau pelanggar berulang.
Jumlah perjalanan per hari
Kasus ini mengukur berapa banyak perjalanan apa yang diselesaikan setiap kendaraan setiap hari dan seberapa jauh mereka menempuh perjalanan, membantu tim logistik menilai penggunaan kendaraan, mengoptimalkan rute, dan mendeteksi anomali seperti perjalanan yang tidak lengkap atau penggunaan yang tidak dilaporkan.
Untuk mendefinisikan sebuah perjalanan, kami menggunakan perubahan pada status gerakan kendaraan — yaitu, transisi dari berhenti ke bergerak dan kembali ke berhenti. Dengan menggunakan nilai kecepatan dari tabel tracking_data_core, kueri membagi data berdasarkan transisi ini. Sebuah perjalanan diidentifikasi sebagai sebuah periode gerakan berkelanjutan di mana kecepatan tetap di atas ambang batas (misalnya, >5 km/jam).
Setiap perjalanan mencakup:
Sebuah waktu mulai dan lokasi (titik bergerak pertama)
Sebuah waktu akhir dan lokasi (titik bergerak terakhir sebelum berhenti)
Itu Haversine antara lokasi awal dan akhir
Kami menghitung jumlah perjalanan dan total jarak per hari per kendaraan, secara opsional diperkaya dengan label kendaraan dari tabel kendaraan.
Jumlah jarak tempuh per kendaraan per hari (7 hari terakhir)
Kasus ini menghitung jarak tempuh harian (dalam kilometer) untuk setiap kendaraan selama 7 hari terakhir. Ini sangat penting untuk pelacakan pemanfaatan kendaraan, pemantauan efisiensi bahan bakar, perencanaan Pemeliharaan, dan mendeteksi penggunaan yang kurang atau berlebihan.
Kami mengekstrak semua rekaman GPS dari tracking_data_core selama 7 hari terakhir. Setiap titik GPS memiliki stempel waktu, lintang, dan bujur. Untuk setiap kendaraan dan setiap hari, kami:
Urutkan titik GPS secara kronologis per perangkat.
Hitung jarak antara titik-titik berurutan menggunakan rumus Haversine.
Jumlahkan jarak tempuh per hari per perangkat untuk mendapatkan jarak tempuh total.
Pendekatan ini memberikan akurasi tinggi tanpa bergantung pada sensor odometer eksternal. Secara opsional, kueri digabungkan dengan objek dan Kendaraan untuk memperkaya hasil dengan metadata Aset.
Laporan log peristiwa kendaraan
Kasus ini memberikan laporan komprehensif dari semua peristiwa terkait kendaraan (misalnya, Pengapian, pintu terbuka, Pengemudian kasar, dll.) di seluruh Armada. Ini mencakup jenis peristiwa, stempel waktu, dan konteks kendaraan, sehingga tim operasional dapat mengaudit perilaku, melacak aktivitas abnormal, atau memicu Aturan peringatan dan analitik.
Sumber utamanya adalah tabel states dari skema raw_telematics_data. Setiap baris mencakup: device_id (sumber kejadian), device_time (stempel waktu), state_name (label kejadian), dan value (status atau pengukuran).
Untuk membuat laporan yang dapat digunakan:
Kami mengekstrak semua rekaman dari 7 hari terakhir.
Kelompokkan berdasarkan jenis peristiwa, kendaraan, dan tanggal untuk menyediakan sebuah jumlah seberapa sering setiap peristiwa terjadi dan ketika itu terjadi.
Perkaya hasil dengan metadata Kendaraan (vehicle_label, registration_number, object_label) melalui Pelacak dan Kendaraan.
Ini memberikan sebuah Waktu kejadian harian di seluruh Armada - penting untuk diagnostik, analisis perilaku, dan Pemeliharaan proaktif.
Terakhir diperbarui
Apakah ini membantu?