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=110U9RAQHXWS_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 محرك فئة عالية المستوى يحتوي على واجهات برمجة التطبيقات البسيطة لمعالجة الاستعلام.
QueryResult ret = engine.findInRange(50, 50, 50);
يتم استخدام استعلام النطاق لاسترداد المسارات التي تمر عبر منطقة مستطيلة محددة. لتحديد المنطقة المستطيلة ، هناك حاجة إلى ثلاث حجج. يعرّف خطوط الطول والطول النقطة الوسط ، حيث تمثل نصف قطرها (في العدادات) معًا المنطقة المستطيلة.
QueryResult ret = engine.findOnPath(query);
يتم استخدام مسار الاستعلام 2 لاسترداد المسارات ذات الحافة المشتركة على الأقل مع الاستعلام. الحجة التي يتطلبه الأمر هي "مسار" يمثلها قائمة من الإحداثيات .
QueryResult ret = engine.findOnStrictPath(query)
يتم استخدام استعلام المسار الصارم 2 لاستعادة المسارات التي تمر بشكل صارم عبر الاستعلام بأكمله من البداية إلى النهاية. الحجة التي يتطلبه الأمر هي "مسار" يمثلها قائمة من الإحداثيات .
QueryResult ret = engine.findTopK(query, 3);
يعيد استعلام أفضل K أعلى مسارات في المرتبة بناءً على مقياس التشابه المحدد. الوسيطة الأولى هي "مسار الاستعلام" ممثلة بقائمة من الإحداثيات ، والثاني هو عدد النتائج العليا التي يجب إرجاعها.
if (ret.mappingSucceed){
List<Trajectory<TrajEntry>> l = ret.getResultTrajectory();
String mapVformat = ret.getMapVFormat();
}else{
//do something
}
بعد معالجة الاستعلام ، يتم إرجاع كائن من النوع QueryResult بشكل موحد. أنه يحتوي على مسار الاستعلام في شكل خام ، ومسار الاستعلام المتطابق مع الخريطة ، وجميع المسارات التي يتم استردادها. أيضًا ، يمكنك عرض هذه على MAPV 3 لغرض التصور.
إذا كنت ترغب في البحث عبر مجموعة البيانات الخاصة بك ، فيرجى اتباع هذه الخطوات للمعالجة المسبقة للبيانات:
قم بتنزيل بيانات الخريطة من OpenStreetMap حيث يتم جمع بيانات المسار ، يجب أن تكون بتنسيق *.osm.pbf وتحتاج إلى وضعها في دليل الموارد.
معالجة مجموعة البيانات الخاصة بك إلى التنسيق المدعوم من برنامجنا. مطابقة الخريطة هي تقنية عرض المسارات الخام على شبكة الطرق الحقيقية. الوسيطة الأولى هي URI لمجموعة بيانات المسار الخام ، في حين أن الوسيطة الثانية "الموارد/porto.osm.pbf" يجب أن تكون URI لملف PBF الخاص بك 1 بعد الإعداد ، استدعاء طريقة () Start () لتحويل مسارات RAW إلى المسارات المعينة. بعد MapMatching ، قم بتشغيل البرنامج الرئيسي () في فئة torch.base.db.dbmanager لبناء فهرس مقلوب على القرص. يرجى أخذ مجموعة بيانات بورتو لدينا كمثال.
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,
}