Abstract
Visibility computation is critical in spatial databases for realizing various interesting and diverse applications such as defence-related surveillance, identifying interesting spots in tourist places and online warcraft games. Existing works address the problem of identifying individual locations for maximizing the visibility of a given target object. However, in case of many applications, a set of locations may be more effective than just individual locations towards maximizing the visibility of the given target object. In this paper, we introduce the Multi-Location Visibility (MLV) query. An MLV query determines the top-k query locations from which the visibility of a given target object can be maximized. We propose a portion-based transactional framework and coverage pattern mining based algorithm to process MLV queries. Our performance evaluation with real datasets demonstrates the effectiveness of the proposed scheme in terms of query processing time, pruning efficiency and target object visibility w.r.t. a recent existing scheme.
Similar content being viewed by others
References
Agrawal R, Srikant R (1994) Fast algorithms for mining association rules in large databases. In: Proceedings of VLDB, pp 487–499
Ali D, Eunus M et al (2017) Efficient processing of maximum visibility facility selection query in spatial databases. Masters Thesis, BUET
Asano T, Asano T, Guibas L, Hershberger J, Imai H (1986) Visibility of disjoint polygons. Algorithmica 1(1):49–63
Beckmann N, Kriegel HP, Schneider R, Seeger B (1990) The R*-tree: an efficient and robust access method for points and rectangles. In: Proceedings of ACM SIGMOD
Bentley JL, Ottmann TA (1979) Algorithms for reporting and counting geometric intersections. IEEE Trans Comput 28(9):643–647
Bentley JL, Wood D (1980) An optimal worst case algorithm for reporting intersections of rectangles. IEEE Trans Comput 29(7):571–577
Chvatal V (1979) A greedy heuristic for the set-covering problem. Math Oper Res 4(3):233–235
Floriani L, Magillo P (2003) Algorithms for visibility computation on terrains: a survey. Environ Plan B Plan Des 30(5):709–728
Gangumalla L (2019) Datasets used in the paper. https://github.com/lakshmi9414/Datasets.git. Accessed 20 June 2019
Gao Y, Liu Q, Miao X, Yang J (2015) Reverse k-nearest neighbor search in the presence of obstacles. Inf Sci 330:274–292
Gao Y, Zheng B (2009) Continuous obstructed nearest neighbor queries in spatial databases. In: Proceedings of ACM SIGMOD, pp 577–590
Gao Y, Zheng B, Chen G, Lee WC, Lee KCK, Li Q (2009a) Visible reverse k-nearest neighbor queries. In: Proceedings ICDE, pp 1203–1206
Gao Y, Zheng B, Lee WC, Chen G (2009b) Continuous visible nearest neighbor queries. In: Proceedings of EDBT, pp 144–155
Garey MR, Johnson DS, Stockmeyer L (1974) Some simplified NP-complete problems. In: Proceedings of ACM symposium on theory of computing, pp 47–63
Goodchild MF, Lee J (1990) Coverage problems and visibility regions on topographic surfaces. Ann Oper Res 18(1–4):175–186
Gowtham Srinivas P et al (2015) Mining coverage patterns from transactional databases. J Intell Inf Syst 45(3):423–439
Haider CMR, Arman A, Ali ME, Choudhury FM (2016) Continuous maximum visibility query for a moving target. In: Proceedings of ADC, pp 82–94
Han J, Cheng H, Xin D, Yan X (2007) Frequent pattern mining: current status and future directions. Data Min Knowl Discov 15(1):55–86
Han J, Pei J, Yin Y (2000) Mining frequent patterns without candidate generation. SIGMOD Rec. 29(2):1–12
Irtiza Tripto N, Nahar M, Ali ME, Choudhury F, Culpepper J, Sellis T (2019) Top-k trajectories with the best view. GeoInformatica 141:1–41. https://doi.org/10.1007/s10707-019-00343-4
Liu B, Hsu W, Ma Y (1999) Mining association rules with multiple minimum supports. In: Proceedings of ACM SIGKDD, pp 337–341
Masud S, Choudhury FM, Ali ME, Nutanong S (2013) Maximum visibility queries in spatial databases. In: Proc. ICDE, pp. 637–648
Morling K (2010) Geometric and engineering drawing 3E. Routledge, London
Mount DM (2004) Geometric intersection. Citeseer
Nutanong S, Tanin E, Zhang R (2010) Incremental evaluation of visible nearest neighbor queries. IEEE TKDE 22(5):665–681
Seeds MA, Backman D (2015) Stars and galaxies. Cengage Learning, Boston
Shou L, Huang Z, Tan KL (2003) HDoV-tree: the structure, the storage, the speed. In: Proceedings of ICDE, pp 557–568
Srinivas PG et al (2012) Discovering coverage patterns for banner advertisement placement. In: Proceedings of PAKDD, pp 133–144
Tanton J (2005) Encyclopedia of mathematics. In: Tanton 2005 encyclopedia. Facts On File, inc
Tao Y, Papadias D, Shen Q (2002) Continuous nearest neighbor search. In: Proceedings of VLDB, pp 287–298
Xu H, Li Z, Lu Y, Deng K, Zhou X (2010) Group visible nearest neighbor queries in spatial databases. In: Proceedings of WAIM, pp 333–344
Zhang J, Papadias D, Mouratidis K, Zhu M (2004) Spatial queries in the presence of obstacles. In: Proceedings of EDBT, pp 366–384
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible editor: Po-ling Loh, Evimaria Terzi, Antti Ukkonen, Karsten Borgwardt and Katharina Heinrich.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix: A coverage patterns
The concept of coverage has been used to the solve set cover problem in set theory (Chvatal 1979) and node cover problem in graph theory (Garey et al. 1974). By extending the notion of coverage, a model for extracting the knowledge of coverage patterns (CPs) (Srinivas et al. 2012) was proposed to extract coverage value of distinct sets of data items or patterns from a transactional database.
Now we shall explain the concept of coverage patterns. Given a transactional database D, each transaction is a subset of a set I of m items \(\{i_{1},i_{2},i_{3},\ldots , i_{m}\}\). A pattern P is a subset of items in I i.e., \(P\subseteq I\) where \(P=\{i_{p},i_{q},\ldots ,i_{r}\}\) and \(1\le p\le q\le r \le m\) and p, q, r are integers. \(T^{i_{r}}\) is the set of transactions in which item \(i_{r}\) is present, hence \(|T^{i_{r}}|\) is the cardinality of \(T^{i_{r}}\).
The fraction of transactions containing a given item \(i_{r}\) is designated as Relative Frequency\(RF(i_{r})\) of \(i_{r}\). \(RF(i_{r})=|T^{i_{r}}|/|D|\). A given item is considered as frequent if its relative frequency is greater than that of a threshold value, which we designate as minRF. Coverage Set CSet(P) of a pattern \(P=\{i_{p},i_{q},\ldots ,i_{r}\}\) is the set of all the transactions that contain at least one item from the pattern P i.e., \(CSet(P)=T^{i_{p}} \cup T^{i_{q}},\ldots ,\cup T^{i_{r}}\). Coverage Support CS(P) is the ratio of the size of CSet(P) to the size of D i.e., \(CS(P)=|CSet(P)| / |\textit{D}|\).
In order to add a new item to the pattern P such that the coverage support increases significantly, the notion of overlap ratio is introduced. (This is possible in the case when the number of transactions, which are common to the new item and the pattern P, is low.) Overlap ratio\(OR(\textit{P})\) of a pattern P is the ratio of the number of transactions that are common between CSet(\(P-i_{r}\)) and \(T^{i_{r}}\) to the number of transactions in \(T^{i_{r}}\), i.e., \(OR(P)=(|CSet(P-i_{r}) \cap (T^{i_{r}})|) /(|T^{i_{r}}|)\). A high CS value indicates more number of transactions and a low OR value means less repetitions among the transactions. A pattern is interesting if its CS is greater than or equal to the user-specified minimum CS threshold value (i.e., minCS) and its OR is less than or equal to user-specified maximum OR threshold value (i.e., maxOR). Given minRF, minCS and maxOR, pattern \(P=\{{i_{p}},{i_{q}},\ldots ,i_{r}\}\) is regarded as a coverage pattern CP if \(RF({i_{k}})\ge minRF \, \forall i_{k} \in P, CS({P}) \ge minCS\) and \(OR(P) \le maxOR\).
For example, consider D depicted in Table 2 to understand the notion of coverage patterns. In D, the set of items \(I=\{a,b,c,d,e,f,g,h\}\) and the number of transactions i.e., \(|\textit{D}|=10\) with \(\hbox {TIDs}=1,2,3,\ldots ,10\). Let \(minRF=0.3\), \(minCS =0.6\), \(maxOR=0.8\). Consider pattern \(P=\{b,c,d\}\); \(T^{b}=\{1,2,4,7\}\), \(T^{c}=\{1,2,5,7,9,10\}\), \(T^{d}=\{5,7,8\}\). \(|T^{b}|=4\), \(|T^{c}|=6\), \(|T^{d}|=3\); \(RF(b)=4/10=0.4\), \(RF(c)=6/10=0.6\), \(RF (d)=3/10=0.3\). \(\hbox {CSet}(P)=\{1,2,4,5, 7,8,9,10\}\). \(RF(b)\ge minRF\), \(RF(c) \ge minRF\), \(RF(d) \ge minRF\); \(CS(P)=8/10= 0.8\ge minCS\); \(OR(P)=(|(T^{b}\cup T^{c})\cap (T^{d})|)/ (|T^{d}|)\); \(OR(P)=2/3=0.6 \le maxOR\). Hence, \(\{b,c,d\}\) is a coverage pattern.
An apriori-like approach to extract complete sets of CPs from transactional database has been proposed in Srinivas et al. (2012). A pattern growth-like approach (Gowtham Srinivas 2015) has also been proposed to extract the complete set of CPs in an efficient manner.
Appendix: B Illustrative example of our approach
Figure 8 depicts an illustrative example of the proposed approach. Consider the target object ABCD having four sides \(\{AB,BC,CD,DA\}\) with query locations (\(q_{1}\) to \(q_{10}\)) and obstacles (\(o_{1}\) to \(o_{4}\)). ABCD is divided into portions (\(p_{1}\) to \(p_{10}\)).
We compute the VRs corresponding to each query location, as shown in Table 3. Observe that \(p_{1}\) is visible from query location \(q_{1}, p_{5}\) is visible from \(\{q_{4},q_{6}\}\) and \(p_{7}\) is visible from \(\{q_{6},q_{7},q_{8}\}\). Now using the computed VRs, we generate portion transactions. Hence, the query location in portion transaction \(p_{1}\) is \(q_{1}\). Similarly, in the portion transaction \(p_{7}\), the query locations are \(\{q_{6},q_{7},q_{8}\}\), as depicted in Table 4.
Now let us consider a candidate set \(c_{i}=\{q_{4},q_{6},q_{9}\}\). Let the values of minV and maxO be 0.7 and 0.4 respectively. \(VR(q_{4},T)=\{p_{3},p_{4}, p_{5}\}\), \(VR(q_{6},T)=\{p_{5}, p_{6},p_{7}\}\), \(VR(q_{9},T)=\{p_{8},p_{9}\}\). \(vis(c_{i},T)=|VR(q_{4},T)\cup VR(q_{6},T)\cup VR(q_{9},T)|/|S| =\{p_{3},p_{4}, p_{5}, p_{6}, p_{7},p_{8},p_{9}\} /10\) i.e., \(vis(c_{i},T)=0.8\). \(|VR(q_{4},T)|\ge |VR(q_{6},T)| \ge |VR(q_{9},T)|\). Thus, \(overlap(c_{i},T)= |(VR(q_{4},T)\cup VR(q_{6},T))\cap VR(q_{9},T)| / |VR(q_{9},T)| =0/2\) i.e., \(overlap(c_{i},T)=0\). Here, \(continuity(c_{i},T)=true\) since portions \(p_{3}\) to \(p_{9}\) from the VRs of query locations in \(c_{i}\) are continuous. Since \(vis(c_{i},T)\ge minV, overlap(c_{i},T) \le maxO\) and \(continuity (c_{i},T)=true, c_{i}\) qualifies as a candidate set.
Now let us consider \(c_{i} =\{q_{6},q_{8}\}\). \(VR(q_{6},T) =\{p_{5},p_{6},p_{7}\}\), \(VR (q_{8},T) =\{p_{7}\}\). \(vis(c_{i},T)=|VR(q_{6},T)\cup VR(q_{8},T)|/|S|=\{p_{5},p_{6},p_{7}\}\) /10 i.e., \(vis(c_{i},T)=0.3.|VR(q_{6},T)| \ge |VR(q_{8},T)|\).
Thus, \(overlap(c_{i},T)=|(VR(q_{6},T) \cap VR(q_{8},T)| / |VR(q_{8},T)|= 1/1\) i.e., \(overlap(c_{i},T)=1\). Here, \(continuity(c_{i},T)=true\) since portions \(p_{5}\) to \(p_{7}\) from the VRs of query locations in \(c_{i}\) are continuous. Since \(vis(c_{i},T)\) and \(overlap(c_{i},T)\) do not satisfy the minV and maxO constraints, \(c_{i}\) would not qualify as a candidate set.
Rights and permissions
About this article
Cite this article
Gangumalla, L., Reddy, P.K. & Mondal, A. Multi-location visibility query processing using portion-based transactional modeling and pattern mining. Data Min Knowl Disc 33, 1393–1416 (2019). https://doi.org/10.1007/s10618-019-00641-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10618-019-00641-3