T-Torch: Mencari lintasan dengan cepat Sheng Wang, Zhifeng Bao, J. Shane Culpepper, Zizhe Xie, Qizhi Liu, Xiaolin Qin: Torch: A Search Engine for
Trajectory Data. SIGIR 2018: 535-544
T-Torch dapat secara efisien menjawab dua jenis kueri yang khas sekarang:
Dataset lintasan kami yang dikumpulkan di Porto tersedia. Dataset disesuaikan dengan peta dan diindeks. Silakan unduh di https://drive.google.com/open?id=110U9RaQXHXWS_TN0IJI-A1N71ELRIYBM dan masukkan ke dalam direktori root proyek.
Kami mengelola perpustakaan dependen dengan Maven. Anda dapat dengan mudah menginstal perangkat lunak yang diperlukan dalam file pom.xml.
Kami menyediakan kasus penggunaan untuk kueri jalur. Metode utama () ada di kelas uji.
1. Engine engine = Engine.getBuilder().build();
2. List<List<TrajEntry>> queries = read();
3. QueryResult result = engine.findOnPath(queries.get(0));
T-Torch menyediakan mesin kelas tingkat tinggi yang berisi API sederhana untuk pemrosesan kueri.
QueryResult ret = engine.findInRange(50, 50, 50);
Kueri rentang digunakan untuk mengambil lintasan yang melewati area persegi panjang tertentu. Untuk mendefinisikan area persegi panjang, diperlukan tiga argumen. Lintang dan bujur menentukan titik tengah, dengan jari -jari (dalam meter) bersama -sama mewakili area persegi panjang.
QueryResult ret = engine.findOnPath(query);
Path Query 2 digunakan untuk mengambil lintasan yang memiliki setidaknya satu tepi umum dengan kueri. Argumen yang dibutuhkan adalah "jalur" yang diwakili oleh daftar koordinat .
QueryResult ret = engine.findOnStrictPath(query)
Query Path yang ketat digunakan untuk mengambil lintasan secara ketat melewati seluruh kueri dari awal hingga akhir. Argumen yang dibutuhkan adalah "jalur" yang diwakili oleh daftar koordinat .
QueryResult ret = engine.findTopK(query, 3);
Kueri Kueri Top mengembalikan K lintasan peringkat tertinggi berdasarkan ukuran kesamaan yang ditentukan. Argumen pertama adalah "lintasan kueri" yang diwakili oleh daftar koordinat , dan yang kedua adalah jumlah hasil teratas untuk dikembalikan.
if (ret.mappingSucceed){
List<Trajectory<TrajEntry>> l = ret.getResultTrajectory();
String mapVformat = ret.getMapVFormat();
}else{
//do something
}
Setelah kueri diproses, objek tipe QueryResult dikembalikan secara seragam. Ini berisi lintasan kueri dalam bentuk mentah, lintasan kueri yang cocok dengan peta, dan semua lintasan yang diambil. Anda juga dapat memproyeksikan ini di MAPV 3 untuk tujuan visualisasi.
Jika Anda ingin mencari di atas dataset Anda sendiri, silakan ikuti langkah -langkah ini untuk preprocessing data:
Unduh data peta dari OpenStreetMap di mana data lintasan dikumpulkan, itu harus dalam format *.osm.pbf dan Anda perlu memasukkannya ke direktori sumber daya.
Preprocess dataset Anda ke dalam format yang didukung oleh program kami. Pencocokan peta adalah teknik untuk memproyeksikan lintasan mentah ke jaringan jalan nyata. Argumen pertama adalah URI dari data lintasan mentah, sedangkan argumen kedua "Resources/porto.osm.pbf" harus menjadi URI ke file PBF Anda 1 setelah pengaturan, call start () metode untuk mengonversi lintasan mentah menjadi lintasan yang dipetakan. Setelah MapMatching, jalankan program Main () di kelas Torch.base.db.dbManager untuk membangun indeks terbalik pada disk. Harap ambil dataset Porto kami sebagai contoh.
MapMatching mm = MapMatching.getBuilder().build("Resources/porto_raw_trajectory.txt","Resources/porto.osm.pbf");
mm.start();
trajectoryID [[latitude1,longtitude1],[latitude2,longtitude2],...]
Jika Anda menggunakan kode ini untuk karya ilmiah Anda, silakan kutipnya sebagai:
Sheng Wang, Zhifeng Bao, J. Shane Culpepper, Zizhe Xie, Qizhi Liu, Xiaolin Qin: Torch: A Search Engine for
Trajectory Data. SIGIR 2018: 535-544
@inproceedings{wang2018torch,
author = {{Wang}, Sheng and {Bao}, Zhifeng and {Culpepper}, J. Shane and {Xie}, Zizhe and {Liu}, Qizhi and {Qin}, Xiaolin},
title = "{Torch: {A} Search Engine for Trajectory Data}",
booktitle = {Proceedings of the 41th International ACM SIGIR Conference on Research & Development in Information Retrieval},
organization = {ACM},
pages = {535--544},
year = 2018,
}