{"title":"A Dynamic Data Structure for Approximate Proximity Queries in Trajectory Data","authors":"M. D. Berg, Joachim Gudmundsson, Ali D. Mehrabi","doi":"10.1145/3139958.3140023","DOIUrl":null,"url":null,"abstract":"Let S be a set of n polygonal trajectories in the plane and k be a fixed constant. We present a data structure to store S so that, given a k-vertex query trajectory Q, we can answer the following queries approximately: • Nearest neighbor query: given a query trajectory Q, report the trajectory in S with minimum Fréchet distance to Q. • Top-j query: given a query trajectory Q and a positive integer j, report the j trajectories in S with minimum Fréchet distance to Q. • Range reporting query: given a query trajectory Q and a number δmax, report all trajectories in S with Fréchet distance at most δmax to Q. • Similarity query: given a query trajectory Q and a trajectory τ ∈ S, report the Fréchet distance between Q and τ. Our data structure answers these queries approximately with an additive error that is at most ϵ · reach(Q) for a given fixed constant ϵ > 0, where reach(Q) is the maximum distance between the start vertex of Q and any other vertex of Q. Furthermore, our query procedures ignore trajectories whose Fréchet distance to the query Q is very large. That is, if no trajectory is close to the query trajectory then no answer might be returned. The data structure uses O(n/ϵ2k) space and answers each of the queries above in time O(1 + #answers). Our data structure is the first one that can answer all these queries with provable error guarantees. Moreover, it is fully dynamic: inserting and deleting a trajectory with m vertices takes O(1/ϵ2k (m + log(1/ϵ))) and O(1/ϵ2k) amortized time, respectively. Finally, we empirically evaluate our data structure.","PeriodicalId":270649,"journal":{"name":"Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3139958.3140023","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
Abstract
Let S be a set of n polygonal trajectories in the plane and k be a fixed constant. We present a data structure to store S so that, given a k-vertex query trajectory Q, we can answer the following queries approximately: • Nearest neighbor query: given a query trajectory Q, report the trajectory in S with minimum Fréchet distance to Q. • Top-j query: given a query trajectory Q and a positive integer j, report the j trajectories in S with minimum Fréchet distance to Q. • Range reporting query: given a query trajectory Q and a number δmax, report all trajectories in S with Fréchet distance at most δmax to Q. • Similarity query: given a query trajectory Q and a trajectory τ ∈ S, report the Fréchet distance between Q and τ. Our data structure answers these queries approximately with an additive error that is at most ϵ · reach(Q) for a given fixed constant ϵ > 0, where reach(Q) is the maximum distance between the start vertex of Q and any other vertex of Q. Furthermore, our query procedures ignore trajectories whose Fréchet distance to the query Q is very large. That is, if no trajectory is close to the query trajectory then no answer might be returned. The data structure uses O(n/ϵ2k) space and answers each of the queries above in time O(1 + #answers). Our data structure is the first one that can answer all these queries with provable error guarantees. Moreover, it is fully dynamic: inserting and deleting a trajectory with m vertices takes O(1/ϵ2k (m + log(1/ϵ))) and O(1/ϵ2k) amortized time, respectively. Finally, we empirically evaluate our data structure.