T-Torch: ค้นหาวิถีอย่างรวดเร็ว 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 สามารถตอบคำถามสองประเภทได้อย่างมีประสิทธิภาพในขณะนี้:
ชุดข้อมูลวิถีของเราที่รวบรวมไว้ที่ปอร์โตมีให้บริการ ชุดข้อมูลมีการจับคู่แผนที่และจัดทำดัชนี โปรดดาวน์โหลดได้ที่ https://drive.google.com/open?id=110U9RAQXHXWS_TN0IJI-A1N71ELRIYBM และใส่ไว้ในไดเรกทอรีรากของโครงการ
เราจัดการห้องสมุดที่ขึ้นอยู่กับ Maven คุณสามารถติดตั้งซอฟต์แวร์ที่จำเป็นเหล่านั้นในไฟล์ pom.xml ได้อย่างง่ายดาย
เราให้กรณีการใช้งานสำหรับการสืบค้นเส้นทาง วิธีการหลัก () อยู่ในคลาสทดสอบ
1. Engine engine = Engine.getBuilder().build();
2. List<List<TrajEntry>> queries = read();
3. QueryResult result = engine.findOnPath(queries.get(0));
T-TORCH ให้ บริการเอ็นจิ้น ระดับสูงที่มี API อย่างง่ายสำหรับการประมวลผลแบบสอบถาม
QueryResult ret = engine.findInRange(50, 50, 50);
แบบสอบถามช่วงใช้เพื่อดึงวิถีการเคลื่อนที่ผ่านพื้นที่สี่เหลี่ยมที่ระบุ ในการกำหนดพื้นที่สี่เหลี่ยมจำเป็นต้องมีข้อโต้แย้งสามข้อ ละติจูดและลองจิจูดกำหนดจุดกึ่งกลางโดยมีรัศมี (เป็นเมตร) ซึ่งเป็นตัวแทนของพื้นที่สี่เหลี่ยม
QueryResult ret = engine.findOnPath(query);
Path Query 2 ใช้เพื่อดึงวิถีที่มีขอบทั่วไปอย่างน้อยหนึ่งข้อที่มีการสืบค้น อาร์กิวเมนต์ที่ใช้คือ "เส้นทาง" ที่แสดงโดยรายการ พิกัด
QueryResult ret = engine.findOnStrictPath(query)
Query Path ที่เข้มงวด 2 ใช้เพื่อดึงวิถีอย่างเคร่งครัดผ่านการสืบค้นทั้งหมดตั้งแต่ต้นจนจบ อาร์กิวเมนต์ที่ใช้คือ "เส้นทาง" ที่แสดงโดยรายการ พิกัด
QueryResult ret = engine.findTopK(query, 3);
แบบสอบถาม Top-K ส่งคืนวิถีการจัดอันดับสูงสุด k ตามการวัดความคล้ายคลึงกันที่ระบุ อาร์กิวเมนต์แรกคือ "วิถีการสืบค้น" ที่แสดงโดยรายการ พิกัด และที่สองคือจำนวนผลลัพธ์สูงสุดที่จะส่งคืน
if (ret.mappingSucceed){
List<Trajectory<TrajEntry>> l = ret.getResultTrajectory();
String mapVformat = ret.getMapVFormat();
}else{
//do something
}
หลังจากประมวลผลแบบสอบถามวัตถุประเภท queryResult จะถูกส่งกลับอย่างสม่ำเสมอ มันมีวิถีการสืบค้นในรูปแบบดิบวิถีการสืบค้นที่จับคู่แผนที่และวิถีทั้งหมดที่ถูกเรียกคืน นอกจากนี้คุณสามารถฉายสิ่งเหล่านี้บน MAPV 3 เพื่อจุดประสงค์ในการสร้างภาพข้อมูล
หากคุณต้องการค้นหาชุดข้อมูลของคุณเองโปรดทำตามขั้นตอนเหล่านี้สำหรับการประมวลผลข้อมูลล่วงหน้า:
ดาวน์โหลดข้อมูลแผนที่จาก OpenStreetMap ที่รวบรวมข้อมูลวิถีมันควรอยู่ในรูปแบบ *.OSM.PBF และคุณต้องใส่ลงในไดเรกทอรี Resourses
ประมวลผลชุดข้อมูลของคุณล่วงหน้าในรูปแบบที่สนับสนุนโดยโปรแกรมของเรา การจับคู่แผนที่เป็นเทคนิคสำหรับการฉายวิถีวิถีดิบไปยังเครือข่าย REAL ROAD อาร์กิวเมนต์แรกคือ URI ของชุดข้อมูลวิถี RAW ในขณะที่อาร์กิวเมนต์ที่สอง "ทรัพยากร/porto.osm.pbf" ควรเป็น URI ไปยังไฟล์ PBF ของคุณ 1 หลังจากการตั้งค่าการโทรเริ่มต้น () วิธีการแปลงวิถี RAW เป็นวิถีการแมป หลังจาก MAPMATCHING ให้เรียกใช้โปรแกรม Main () ในคลาส Torch.base.db.dbManager เพื่อสร้างดัชนีคว่ำบนดิสก์ โปรดนำชุดข้อมูล Porto ของเราเป็นตัวอย่าง
MapMatching mm = MapMatching.getBuilder().build("Resources/porto_raw_trajectory.txt","Resources/porto.osm.pbf");
mm.start();
trajectoryID [[latitude1,longtitude1],[latitude2,longtitude2],...]
หากคุณใช้รหัสนี้สำหรับงานทางวิทยาศาสตร์ของคุณโปรดอ้างอิงเป็น:
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,
}