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);
경로 쿼리 2는 쿼리와 하나 이상의 공통 에지가있는 궤적을 검색하는 데 사용됩니다. 그것이 취하는 주장은 좌표 목록으로 표시되는 "경로"입니다.
QueryResult ret = engine.findOnStrictPath(query)
엄격한 경로 쿼리 2는 전체 쿼리를 처음부터 끝까지 통과하는 궤적을 검색하는 데 사용됩니다. 그것이 취하는 주장은 좌표 목록으로 표시되는 "경로"입니다.
QueryResult ret = engine.findTopK(query, 3);
Top-K Query는 지정된 유사성 측정에 따라 가장 높은 순위가 높은 궤적을 반환합니다. 첫 번째 인수는 좌표 목록으로 표시되는 "쿼리 궤적"이며, 두 번째 인수는 반환 할 상단 결과 수입니다.
if (ret.mappingSucceed){
List<Trajectory<TrajEntry>> l = ret.getResultTrajectory();
String mapVformat = ret.getMapVFormat();
}else{
//do something
}
쿼리가 처리되면 QueryResult 유형의 객체가 균일하게 반환됩니다. 여기에는 원시 형태의 쿼리 궤적, 맵 일치 쿼리 궤적 및 모든 궤적이 검색됩니다. 또한 시각화 목적으로 MAPV 3 에이를 투사 할 수 있습니다.
자신의 데이터 세트를 검색하려면 데이터 전처리를 위해 다음 단계를 따르십시오.
OpenStreetMap에서 궤적 데이터가 수집되는 맵 데이터를 다운로드하면 *.OSM.PBF 형식이어야하며 리소스 디렉토리에 넣어야합니다.
데이터 세트를 프로그램에서 지원하는 형식으로 전처리하십시오. 맵 매칭은 실제 도로 네트워크에 원시 궤적을 투사하는 기술입니다. 첫 번째 인수는 원시 궤적 데이터 세트의 URI 인 반면, 두 번째 인수 "resources/porto.osm.pbf" 는 PBF 파일의 URI 여야합니다. 1 설정 후에는 start () 메소드를 호출하여 원시 궤적을 변환하여 매핑 된 궤적으로 변환합니다. MapMatching 후 Torch.base.db.dbmanager 클래스에서 Main () 프로그램을 실행하여 디스크에서 거꾸로 된 색인을 작성하십시오. 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,
}