Skip to main content
Log in

An overlapping Voronoi diagram-based system for multi-criteria optimal location queries

  • Published:
GeoInformatica Aims and scope Submit manuscript

Abstract

This paper presents a novel Multi-criteria Optimal Location Query (MOLQ), which can be applied to a wide range of applications. After providing a formal definition of the novel query type, we propose an Overlapping Voronoi Diagram (OVD) model that defines OVDs and Minimum OVDs (MOVDs), and an OVD overlap operation. Based on the OVD model, we design advanced approaches to answer the query in Euclidean space. Due to the high complexity of Voronoi diagram overlap computation, we improve the overlap operation by replacing the real boundaries of Voronoi diagrams with their Minimum Bounding Rectangles (MBR). Moreover, if there are changes to a limited number of objects, re-evaluating queries over updated object sets would be expensive. Thus, we also propose an MOVD updating model and an advanced algorithm to incrementally update MOVDs to avoid the high cost of query re-evaluation. Our experimental results show that the proposed algorithms can evaluate the novel query type effectively and efficiently.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32

Similar content being viewed by others

Notes

  1. http://www.geonames.org/

  2. http://www.cs.man.ac.uk/~toby/gpc/

References

  1. Aurenhammer F (1991) Voronoi diagrams–a survey of a fundamental geometric data structure. ACM Comput Surv 23(3):345–405

    Article  Google Scholar 

  2. Aurenhammer F, Klein R, Lee D-T (2013) Voronoi diagrams and delaunay triangulations. World Scientific Publishing Co Inc

  3. Bajaj CL (1988) The algebraic degree of geometric optimization problems. Discret Comput Geom 3:177–191

    Article  Google Scholar 

  4. Boissonnat J-D, Delage C (2005) Convex Hull and Voronoi diagram of additively weighted points. In: ESA, pp 367–378

  5. Chandrasekaran R, Tamir A (1990) Algebraic optimization: the Fermat-Weber location problem. Math Program 46:219–224

    Article  Google Scholar 

  6. Cheema MA, Zhang W, Lin X, Zhang Y, Li X (2012) Continuous reverse k nearest neighbors queries in euclidean space and in spatial networks. VLDB J 21(1):69–95

    Article  Google Scholar 

  7. Chen Z, Liu Y, Wong RC-W, Xiong J, Mai G, Long C (2014) Efficient algorithms for optimal location queries in road networks. In: SIGMOD conference, pp 123–134

  8. Farhana M, Choudhury J, Culpepper S, Sellis T, Cao X (2016) Maximizing bichromatic reverse spatial and textual K nearest neighbor queries. PVLDB 9(6):456–467

    Google Scholar 

  9. de Berg M, Cheong O, van Kreveld M, Mark O (2008) Computational geometry: algorithms and applications, 3rd edn. Springer

  10. Demiryurek U, Shahabi C (2012) Indexing network Voronoi diagrams. In: The 17th International conference on database systems for advanced applications, DASFAA, pp 526–543

  11. Devillers O (2002) On deletion in Delaunay triangulations. Int J Comput Geom Appl 12(03):193–205

    Article  Google Scholar 

  12. Dinis J, Mamede M (2011) Updates on Voronoi Diagrams. In: ISVD, pp 192–199

  13. Dong P (2008) Generating and updating multiplicatively weighted Voronoi diagrams for point, line and polygon features in GIS. Comput Geosci 34(4):411–421

    Article  Google Scholar 

  14. Du Y, Zhang D, Xia T (2005) The optimal-location query. In: SSTD, pp 163–180

  15. Finke U, Hinrichs KH (1995) Overlaying simply connected planar subdivisions in linear time. In: Proceedings of the eleventh annual symposium on computational geometry. ACM, pp 119–126

  16. Fortune S (1986) A sweepline algorithm for Voronoi diagrams. In: Proceedings of the second annual symposium on computational geometry. ACM, pp 313–322

  17. Fortune S (1992) Numerical stability of algorithms for 2D delaunay triangulations. In: Proceedings of the eighth annual symposium on computational geometry, pp 83–92

  18. Gao Y, Zheng B, Chen G, Li Q (2009) Optimal-location-selection query processing in spatial databases. IEEE Trans Knowl Data Eng 21(8):1162–1177

    Article  Google Scholar 

  19. Ghaemi P, Shahabi K, Wilson JP, Banaei-Kashani F (2012) Continuous maximal reverse nearest neighbor query on spatial networks. In: ACM SIGSPATIAL, pp 61–70

  20. Green PJ, Sibson R (1978) Computing Dirichlet tessellations in the plane. Comput J 21(2):168–173

    Article  Google Scholar 

  21. Green PJ, Sibson R (1978) Computing Dirichlet tessellations in the plane. Comput J 21(2):168–173

    Article  Google Scholar 

  22. Guibas L, Stolfi J (1985) Primitives for the manipulation of general subdivisions and the computation of Voronoi. ACM Trans Graph (TOG) 4(2):74–123

    Article  Google Scholar 

  23. Guibas LJ, Knuth DE, Sharir M (1992) Randomized incremental construction of Delaunay and Voronoi diagrams. Algorithmica 7(1):381–413

    Article  Google Scholar 

  24. Guibas LJ, Stolfi J (1985) Primitives for the manipulation of general subdivisions and computation of Voronoi diagrams. ACM Trans Graph 4(2):74–123

    Article  Google Scholar 

  25. Haldane JBS (1948) Note on the median of a multivariate distribution. Biometrika 35:414–415

    Article  Google Scholar 

  26. Harn P-W, Ji Z, Sun M-T, Ku W-S (2016) A framework for updating multi-criteria optimal location query. In: ACM SIGSPATIAL

  27. Jalal G, Krarup J (2003) Geometrical solution to the fermat problem with arbitrary weights. Annals OR 123(1–4):67–104

    Article  Google Scholar 

  28. Karavelas MI, Yvinec M (2002) Dynamic additively weighted Voronoi diagrams in 2D. In: ESA, pp 586–598

  29. Korn F, Muthukrishnan S (2000) Influence sets based on reverse nearest neighbor queries. In: SIGMOD conference, pp 201–212

  30. Korn F, Muthukrishnan S, Srivastava D (2002) Reverse nearest neighbor aggregates over data streams. In: VLDB, pp 814–825

  31. Liu R, Fu AW-C, Chen Z, Huang S, Liu Y (2016) Finding multiple new optimal locations in a road network. In: ACM SIGSPATIAL

  32. Mostafavi MA, Gold C, Dakowicz M (2003) Delete and insert operations in voronoi/delaunay methods and applications. Comput Geosci 29(4):523–530

    Article  Google Scholar 

  33. Mu L (2004) Polygon characterization with the multiplicatively weighted Voronoi diagram. Prof Geogr 56(2):223–239

    Google Scholar 

  34. Ohya T, Iri M, Murota K (1984) Improvements of the incremental method for the Voronoi diagram with computational comparison of various algorithms. J Oper Res Soc Japan 27(4):306–336

    Google Scholar 

  35. Okabe A, Boots B, Sugihara K, Chiu SN (2000) Spatial tessellations: concepts and applications of Voronoi diagrams. Probability and statistics, 2nd edn. Wiley, NYC

    Book  Google Scholar 

  36. Pagliara F, Preston J, David S (2010) Residential location choice: models and applications. Springer

  37. Qi J, Zhang R, Kulik L, Lin D, Xue Y (2012) The min-dist location selection query. In: ICDE

  38. Morris JG, Love RF, Wesolowsky GO (1988) Facilities location models and methods

  39. Stanoi I, Riedewald M, Agrawal D, El Abbadi A (2001) Discovery of influence sets in frequently updated databases. In: VLDB, pp 99–108

  40. Sugihara K, Iri M (1992) Construction of the Voronoi diagram for’one million’generators in single-precision arithmetic. Proc IEEE 80(9):1471–1484

    Article  Google Scholar 

  41. Tao Y, Papadias D, Lian X (2004) Reverse kNN search in arbitrary dimensionality. In: VLDB, pp 744–755

  42. Tao Y, Papadias D, Lian X, Xiao X (2007) Multidimensional reverse k NN search. VLDB J 16(3):293–316

    Article  Google Scholar 

  43. Tao Y, Yiu ML, Mamoulis N (2006) Reverse nearest neighbor search in metric spaces. IEEE Trans Knowl Data Eng 18(9):1239–1252

    Article  Google Scholar 

  44. Üster H, Love RF (2002) A generalization of the rectangular bounding method for continuous location models. Comput Math Appl 44(1–2):181–191

    Article  Google Scholar 

  45. Vardi Y, Zhang C-H (2001) A modified Weiszfeld algorithm for the Fermat-Weber location problem. Math Program 90:559–566

    Article  Google Scholar 

  46. Verkhovsky BS, Polyakov YS (2003) Feedback algorithm for the single-facility minisum problem. Ann Europ Acad Sci 1:127–136

    Google Scholar 

  47. Weisbrod G, Ben-Akiva M, Lerman S (1980) Tradeoffs in residential location decisions: transportation versus other factors. Transp Polic Decis-Making, 1(1)

  48. Weiszfeld E, Plastria F (2009) On the point for which the sum of the distances to n given points is minimum. Annals OR 167(1):7–41

    Article  Google Scholar 

  49. Xia T, Zhang D, Kanoulas E, Du Y (2005) On computing top-t most influential spatial sites. In: VLDB, pp 946–957

  50. Xiao X, Yao B, Li F (2011) Optimal location queries in road network databases. In: ICDE, pp 804–815

  51. Yang C, Lin K-I (2001) An index structure for efficient reverse nearest neighbor queries. In: ICDE, pp 485–492

  52. Yao B, Xiao X, Li F, Wu Y (2014) Dynamic monitoring of optimal locations in road network databases. In: VLDB, pp 697–720

  53. Yiu ML, Papadias D, Mamoulis N, Tao Y (2006) Reverse nearest neighbors in large graphs. IEEE Trans Knowl Data Eng 18(4):540–553

    Article  Google Scholar 

  54. Zhang D, Du Y, Xia T, Tao Y (2006) Progressive computation of the min-dist optimal-location query. In: VLDB, pp 643–654

  55. Ji Z, Ku W-S, Jiang X, Qin X, Sun M-T, Lu H (2015) A framework for multi-criteria optimal location selection. In: ACM SIGSPATIAL

  56. Ji Z, Ku W-S, Sun M-T, Qin X, Lu H (2014) Multi-criteria optimal location query with overlapping Voronoi diagrams. In: EDBT, pp 391–402

Download references

Acknowledgments

This research has been funded in part by the U.S. National Science Foundation grants IIS-1618669 (III) and ACI-1642133 (CICI).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xunfei Jiang.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 A.1 More OVD/MOVD properties

A number of OVD/MOVD properties can be derived from the OVD/MOVD definitions. These properties are the basis of the OVD/MOVD model utilized in our MOVD-based solution.

Theorem 7

\(|MOVD(\mathbb {E})| \leq |OVD(\mathbb {E})|\) = \({\prod }_{P_{i} \in \mathbb {E}} |P_{i}|\) .

By Eq. 19, OVRs are generated by a combination of selected Voronoi regions. The number of OVRs in \(OVD(\mathbb {E})\) is the product of the number of Voronoi regions in these Voronoi diagrams. Because all the possible empty sets have been removed, the size of \(MOVD(\mathbb {E})\) is less than or equal to \(OVD(\mathbb {E})\).

Theorem 8

Any MOVD fully covers the entire search space \(\mathbb {R}\) .

$$ \begin{array}{llllllllll} \bigcup\limits^{OVR_{j} \in MOVD(\mathbb{E})} OVR_{j} = \mathbb{R} \end{array} $$
(33)

Proof

This theorem can be proved by contradiction. Assume that \(\exists q \in \mathbb {R}\), but \(q \notin MOVD(\mathbb {E})\). Then, by the property of Voronoi diagram, \(\forall P_{i} \in \mathbb {E}\), ∃piPi, qDom(pi). By the definition of MOVD (19), qMOVD(E), which contradicts with the assumption that \(q \notin MOVD(\mathbb {E})\). This completes the proof. □

1.2 A.2 Algebraic structure of MOVD

After theoretically introducing the OVD/MOVD model, we will mainly focus on the overlap operation. We create an algebraic structure of MOVD by exploring MOVD space under the overlap operation and discuss its properties. The implementation details of the operation will be presented in Section 6.

1.2.1 A.2.1 MOVD space

MOVD space is a universal set of MOVDs that are fed into and produced by the overlap operation. Given a universal set of object sets \(\mathbb {E}=\{P_{1},...,P_{n}\}\), the universal set of MOVD(\(\mathbb {E}\)) is defined as

$$ \begin{array}{llllllllll} U(MOVD(\mathbb{E})) = \{ MOVD(E_{i}) \ \vert \ E_{i} \ \subseteq \ \mathbb{E} \} \end{array} $$
(34)

Take \(\mathbb {E}=\{P_{1},P_{2}\}\) for example, Ei is a subset of \(\mathbb {E}\). Ei could be , {P1}, {P2}, or {P1, P2}. So, the universal space of MOVDs of \(\mathbb {E}\) is {MOVD(), MOVD({P1}), MOVD({P2}), MOVD({P1,P2})}.

Theorem 9

The overlapping area of two different OVRs is a subset of their common boundaries.

Proof

By Eq. 19, an OVR is the overlapping region of {\(Dom({p_{1}^{u}})\), ..., \(Dom({p_{n}^{v}})\)}. If we have two OVRs from an OVD such that \(OVR=\bigcap _{{p_{i}^{s}} \in \{{p_{1}^{u}},...,{p_{n}^{v}}\} } Dom({p_{i}^{s}})\), and \(OVR^{\prime }=\bigcap _{p_{i}^{s^{\prime }} \in \{p_{1}^{u^{\prime }},...,p_{n}^{v^{\prime }}\}} Dom(p_{i}^{s^{\prime }})\), then the overlapping area of OVR and OVR is

$$ \begin{array}{llllllllll} O&VR \bigcap OVR^{\prime} \\ &= (\bigcap\limits_{{p_{i}^{s}} \in \{{p_{1}^{u}},...,{p_{n}^{v}}\} } Dom({p_{i}^{s}})) \ \bigcap \ (\bigcap\limits_{p_{i}^{s^{\prime}} \in \{p_{1}^{u^{\prime}},...,p_{n}^{v^{\prime}}\}} Dom(p_{i}^{s^{\prime}})) \\ &= \bigcap\limits_{i = 1}^{n} \ (Dom({p_{i}^{s}}) \ \bigcap \ Dom(p_{i}^{s^{\prime}})) \end{array} $$
(35)

According to the properties of Voronoi diagrams, \(Dom({p_{i}^{s}})\)\(Dom(p_{i}^{s^{\prime }})\), where \({p_{i}^{s}} \neq p_{i}^{s^{\prime }}, \ {p_{i}^{s}}, \ p_{i}^{s^{\prime }} \in P_{i}\), is either their common boundaries or an empty set. Moreover, if OVR and OVR are different, there must exist a \({p_{i}^{s}}\) and \(p_{i}^{s^{\prime }}\) that are different. The boundaries of an OVR are comprised of the boundaries of corresponding Voronoi regions. Hence, the overlapping region of OVR and OVR is a subset of their common boundaries. □

Theorem 10

When \(\mathbb {E}\) is made up of only one object set \(\mathbb {E}=\{P\}\) , then

$$ \begin{array}{llllllllll} MOVD(\mathbb{E}) = OVD(\mathbb{E}) = VD(P) \end{array} $$
(36)

Proof

This theorem is straightforward. If \(\mathbb {E}\) has only one object set P, there is no other Voronoi diagram overlapped on VD(P). Obviously VD(P) does not have any empty regions. \(OVD(\mathbb {E})\) and \(MOVD(\mathbb {E})\) are identical to VD(P). This theorem not only states an extreme case of definitions, but also highlights basic units in the OVD/MOVD model. All OVDs are generated from these building blocks. □

Theorem 11

Given a type weight functionσt,object weight functionsσ=\(\{{\sigma ^{o}_{1}},...,{\sigma ^{o}_{n}}\}\),and a point q in OVR (\({p_{1}^{u}},...,{p_{n}^{v}}\)),the total weighted distance from q to the corresponding objectgroup\(G=\{{p_{1}^{u}},...,{p_{n}^{v}}\}\)isthe minimum weighted distance from q to all object combinationsG,whereGP1 × ... × Pn.

$$ \begin{array}{llllllllll} WGD&(q, G, \sigma^{t}, \sigma) = \min(\\ &\{ \ WGD(q, G^{\prime}, \sigma^{t}, \sigma) \ \vert \ G^{\prime} \in P_{1} \times...\times P_{n} \ \} \ ) \end{array} $$
(37)

Proof

If VD(P1) is generated by P1 and the weight function \({\sigma _{1}^{o}} \in \sigma \), a point q in \(OVR({p_{1}^{u}},...,{p_{n}^{v}})\) must fall in \(Dom({p_{1}^{u}})\) of VD(P1) so that \({p_{1}^{u}}\) is the closest point in P1 to q. WD(q, \({p_{1}^{u}}\), σt, \({\sigma ^{o}_{1}}\)) is the minimum weighted distance from q to any points in P1. We can get the same result in other sets \(P_{i} \in \mathbb {E}\). After summing them up, we obtain Theorem 11 that WGD(q,G,σt,σ) has the minimum distance. □

Theorem 12

An OVR may have one or more generators, or may not have any generators.

Proof

The overlapping operation decomposes Voronoi cells into smaller subregions. A generator can only fall in one subregion, and other subregions do not have any generators. It is possible that two generators from two Voronoi diagrams may be in the same subregion. For example, in Fig. 5c, p1 and q1 are in the top-left subregion, and the doubly shaded subregion does not have any generators. □

Theorem 13

\(|MOVD(\mathbb {E})|\)isbigger than or equal to |VD(Pi)|,where\(P_{i} \in \mathbb {E}\).

$$ \begin{array}{llllllllll} |MOVD(\mathbb{E})| \geq |VD(P_{i})| \end{array} $$
(38)

Proof

Overlapping two Voronoi diagrams is a process in which one Voronoi diagram is decomposed by another Voronoi diagram. Each Voronoi region is divided into a number of subregions, unless two Voronoi regions from different VDs are exactly the same, or one region contains the other. In these extreme cases, the Voronoi region remains unchanged. Thus, after overlapping Voronoi diagrams, the number of overlapping regions in an MOVD is either greater than or equal to the basic Voronoi diagrams. □

Theorem 14

The number of MOVDs existing in the universal space is as follows:

$$ \begin{array}{llllllllll} |U(MOVD(\mathbb{E}))| = \sum\limits_{i = 0}^{|\mathbb{E}|} \binom{|\mathbb{E}|}{i} \end{array} $$
(39)

Proof

By definition, MOVD space consists of a number of MOVDs, each of which is generated by a subset of \(\mathbb {E}\); thus the number of MOVDs in the space equals the number of subsets in \(\mathbb {E}\), which is presented as Eq. 39. The case that i equals 0 indicates a special subset, the empty set, defined in Eq. 21. □

1.3 A.3 ⊕ operation properties

By properties of the union operation on sets, we can obtain the following three laws.

Theorem 15

Idempotent Law

$$ \begin{array}{llllllllll} MOVD(E_{i}) \oplus MOVD(E_{i}) = MOVD(E_{i}) \end{array} $$
(40)

Proof

By the idempotent law of union operation on sets, \(MOVD(E_{i} \bigcup E_{i})\) is equal to MOVD(Ei). Thus, overlaying two identical MOVDs produces the MOVD itself. □

Theorem 16

Commutative Law

$$ \begin{array}{llllllllll} MOVD(E_{i}) \ \oplus \ MO&VD(E_{j}) = \\ &MOVD(E_{j}) \ \oplus \ MOVD(E_{i}) \end{array} $$
(41)

Proof

By the commutative law of union operation on sets, \(MOVD(E_{i} \bigcup E_{j})\) is equal to \(MOVD(E_{j} \bigcup E_{i})\). Thus, swapping two operands does not change the result. □

Theorem 17

Associative Law

$$ \begin{array}{llllllllll} (MO&VD(E_{i}) \ \oplus \ MOVD(E_{j})) \ \oplus \ MOVD(E_{k}) = \\ &MOVD(E_{i}) \ \oplus \ (MOVD(E_{j}) \ \oplus \ MOVD(E_{k})) \end{array} $$
(42)

Proof

By the associative law of union operation on sets, MOVD ((Ei\(\bigcup \)Ej) \(\bigcup \)Ek) is equal to \(MOVD (E_{i} \bigcup (E_{j} \bigcup E_{k}))\). Thus, ⊕ operation can be performed in any order without ambiguity. □

Corollary 1

MOVD( E i ), where \(E_{i} \subseteq \mathbb {E}\) , is unique.

Proof

According to the commutative and associative laws of operation ⊕, the order of overlapping Voronoi diagrams does not cause the result to change. Thus MOVD(Ei) is unique. □

Theorem 18

MOVD() is an identity element.

Proof

MOVD() equals \(\{\mathbb {R}\}\) such that it leaves MOVDs unchanged under operation ⊕. The following equation can be easily proved by the definition of ⊕.

$$ \begin{array}{llllllllll} MOVD(E_{i}) \ \oplus \ MOVD(\emptyset) = MOVD(E_{i}) \end{array} $$
(43)

Theorem 19

Closure: the universal MOVD space of\(\mathbb {E}\)isclosed under operation.

Proof

By definition, given any MOVD(Ei) and MOVD(Ej), where \(E_{i},E_{j} \subseteq \mathbb {E}\), the result of overlapping them is MOVD(EiEj). EiEj is still a subset of \(\mathbb {E}\), so the result is an element of \(U(MOVD(\mathbb {E}))\). □

Definition 1

Sequential Overlap Operations

$$ \begin{array}{llllllllll} \sum\limits_{i = 1}^{n} MOVD(E_{i}) &= MOVD(E_{1}) \oplus ... \oplus MOVD(E_{n}) \\ &= MOVD(\bigcup\limits_{i = 1}^{n} E_{i}) \end{array} $$
(44)

Definition 2

Partial Order

If MOVD(Ei) = MOVD(Ej) ⊕ MOVD(Ek) then,

$$ \begin{array}{llllllllll} &MOVD(E_{i}) \gtrdot MOVD(E_{j}) \\ &MOVD(E_{i}) \gtrdot MOVD(E_{k}) \end{array} $$
(45)

The partial order definition formalizes a comparison model for evaluating how much information MOVDs maintain. In Eq. 45, MOVD(Ei) is generated by MOVD(Ej) and MOVD(Ek). MOVD(Ei) has more information (i.e., objects) than either MOVD(Ej) or MOVD(Ek). We use \(\gtrdot \) to denote the relationship.

Theorem 20

MOVD(Ei) ⊕ MOVD(Ej) =MOVD(Ei) ifMOVD(Ei) \(\gtrdot \)MOVD(Ej).

Proof

The following equation proves Theorem 20 by applying the partial order definition that decomposes MOVD(Ei) into MOVD(Ej) and MOVD(Ek), and the commutative and idempotent laws of operation ⊕. □

$$ \begin{array}{llllllllll} MO&VD(E_{i}) \oplus MOVD(E_{j}) \\ &= MOVD(E_{j}) \oplus MOVD(E_{k}) \oplus MOVD(E_{j}) \\ &= MOVD(E_{j}) \oplus MOVD(E_{j}) \oplus MOVD(E_{k}) \\ &= MOVD(E_{j}) \oplus MOVD(E_{k}) \\ &= MOVD(E_{i}) \end{array} $$
(46)

1.4 A.4 Analysis of object insertion operation to an MOVD

Since \(MOVD(\mathbb {E})\) would be more complex than MOVD({Q}), the proposed algorithms would be dominated by updating \(MOVD(\mathbb {E})\) rather than updating MOVD({Q}) in most cases. To accurately estimate the cost of MOVD updating algorithms, we further explore the object insertion operation over ordinary MOVDs (generated from ordinary Voronoi diagrams) after MOVD({Q}) has been updated. An alternative OVR merging method can be used in the insertion algorithm, the computational complexity of which is bounded at 3 × I (See Corollary 3). In addition, we also find that the computational complexity of the object deletion algorithm over general MOVDs can be bounded at O(I), where I denotes the number of OVRs in the dominance region of the deleted object, because every updated OVR is only needed to merge with at most one of its neighbor OVRs (See Theorem 22).

In this section, all the following theoretical analysis and examples are presented in a 2-dimensional space; however, they can be extended to higher-dimensional spaces in similar methods. We use \(\mathcal {S}\) to denote a subdivision of a search space \(\mathbb {R}\). We assume that \(\mathcal {S}\) can be abstracted by a set of vertices and line segments. \(\mathcal {V}\), \(\mathcal {E}\), and \(\mathcal {F}\) are used to denote the sets of vertices, edges, and faces in \(\mathcal {S}\). \(\mathcal {V^{\ast }}\) and \(\mathcal {E^{\ast }}\) indicate vertices and edges of \(\mathcal {S}\) in a convex set \(\mathcal {C}\). \(\mathcal {F^{\ast }}\) contains faces of \(\mathcal {S}\) overlapping \(\mathcal {C}\).

Lemma 1

Given a convex set \(\mathcal {C}\) in a search space and a subdivision \(\mathcal {S}\) of the space, let \(\mathcal {W^{\ast }}\) be the set of intersection points of \(\mathcal {S}\) and \(\mathcal {C}\) , \(\mathcal {V^{\ast }}\) be the vertices of \(\mathcal {S}\) in \(\mathcal {C}\) ( \(\mathcal {V^{\ast }}=\{v \in \mathcal {V} \ | \ v\) is inside \(\mathcal {C}\}\) ), and \(\mathcal {F^{\ast }}\) be the set of faces overlapped with \(\mathcal {C}\) ( \(\mathcal {F^{\ast }} = \{f \in \mathcal {F} \ | \ f\) overlaps \(\mathcal {C}\}\) ), if the degree of all vertices of \(\mathcal {S}\) is 3 ( \(deg(v) = 3, v \in \mathcal {V}\) ), then \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}| \leq 2 (|\mathcal {F^{\ast }}|-1)\) .

Lemma 1 cannot be applied to non-convex sets because a line of the subdivision may intersect with the boundary of a non-convex set at two or more points. \(|\mathcal {W^{\ast }}|\) may go up to infinity in extreme cases, and the upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\) does not exist. Figure 33 shows an example of Lemma 1, in which the search space is decomposed by an ordinary Voronoi diagram. We assume that the degree of all vertices in the figure is 3. The figure also shows a convex polygon \(\mathcal {C}\) as an example of convex sets, which intersects with the subdivision at \(\mathcal {W^{\ast }}=\{w_{1}, w_{2}, w_{3}, w_{4}\}\). v1 and v2 are two vertices inside \(\mathcal {C}\) (\(\mathcal {V^{\ast }}=\{v_{1}, v_{2}\}\)). The faces overlapping \(\mathcal {C}\) are \(\mathcal {F^{\ast }}\) = {Dom(p2), Dom(p3), Dom(p5), Dom(p6)}.

Fig. 33
figure 33

An example of Lemma 1

Proof

We prove this lemma using Euler’s formula, which states that ve + f = 2 is always held for any connected planar graph with v vertices, e edges, and f faces. As shown in Fig. 34, we create a space \(\mathbb {R^{\prime }}\), which is limited by the boundary of the convex polygon \(\mathcal {C}\). All edges inside the polygon are edges in the space \(\mathbb {R^{\prime }}\). v1 and v2 are two inner vertices in \(\mathbb {R^{\prime }}\), and w1, w2, w3, and w4 are four vertices on the boundary of \(\mathbb {R^{\prime }}\). Euler’s formula cannot be applied directly to the subdivision in \(\mathbb {R^{\prime }}\) due to the existence of half-infinite edges [3]. Thus, we create an extra vertex v, which connects to the boundary points \(\mathcal {W^{\ast }}\), to convert the subdivision to a connected planar graph. Since each edge connects two vertices, the number of edges is equal to the half of the total degree of all vertices in \(\mathbb {R^{\prime }}\) (the number of edges is \(\frac {2 |\mathcal {W^{\ast }}| + 3 |\mathcal {V^{\ast }}| + deg(v_{\infty })}{2}\)). Then, according to Euler’s formula,

$$ \begin{array}{llllllllll} (|\mathcal{W^{\ast}}| + |\mathcal{V^{\ast}}| + 1) - \frac{2 |\mathcal{W^{\ast}}| + 3 |\mathcal{V^{\ast}}| + deg(v_{\infty})}{2} + |\mathcal{F^{\ast}}| = 2 \end{array} $$
(47)

where “1” indicates the vertice v and \(deg(v_{\infty }) = |\mathcal {W^{\ast }}|\). Finally, we obtain \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}| = 2 (|\mathcal {F^{\ast }}|-1)\) by simplifying (47). Moreover, the convex set \(\mathcal {C}\) may intersect with the subdivision at vertex v2 instead of w4, and there is one less boundary point in this case. To take the case into account, v2 is considered as an inner vertex because its degree is 3; while the degree of boundary points is always 2. Therefore, \(2 (|\mathcal {F^{\ast }}|-1)\) is an upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\), and this concludes the proof. □

Fig. 34
figure 34

The convex polygon \(\mathcal {C}\) is converted to a planar graph

Take Fig. 33 for example, there are four boundary points (\(\mathcal {W^{\ast }}=\{w_{1}, w_{2}, w_{3}, w_{4}\}\)), two inner vertices (\(\mathcal {V^{\ast }}=\{v_{1}, v_{2}\}\)), and four faces (\(\mathcal {F^{\ast }}\) = {Dom(p2), Dom(p3), Dom(p5), Dom(p6)}) overlapping with \(\mathcal {C}\). Thus, Lemma 1 is held in this example.

Theorem 21

Given a subdivision\(\mathcal {S}\)ina search space, a convex set\(\mathcal {C}\),and a space\(\mathbb {R^{\prime }}\)in\(\mathcal {C}\),the degree of vertices in the subdivision would range from 3 to k.Let\(\mathcal {V}_{i}^{\ast }\)denotethe set of vertices with degree i inside\(\mathcal {C}\),where 3 ≤ ik(\(|\mathcal {V^{\ast }}|\)=\({\sum }_{i = 3}^{k}|\mathcal {V}_{i}^{\ast }|\)),and\(\mathcal {F^{\ast }}\)bethe set of faces overlapping\(\mathcal {C}\),then

$$ \begin{array}{llllllllll} |\mathcal{W^{\ast}}| + |\mathcal{V^{\ast}}| \leq 2(|\mathcal{F^{\ast}}|-1) - \sum\limits_{i = 3}^{k}((i-3) \times |\mathcal{V}_{i}^{\ast}|) \end{array} $$
(48)

Proof

Similarly with the proof with Lemma 1, Euler’s formula can be applied to the cases presented in Theorem 21 by adding v. The difference is that the degree of vertices inside \(\mathcal {C}\) may be greater than 3; but the degree of boundary points in \(\mathcal {W^{\ast }}\) are still fixed at 2, and \(deg(v_{\infty }) = |\mathcal {W^{\ast }}|\) is also held. Thus, the total degree of vertices and boundary points is \(2 |\mathcal {W^{\ast }}| + deg(v_{\infty }) + {\sum }_{i = 3}^{k}(i \times |\mathcal {V}_{i}^{\ast }|)\), and the number of edges in \(\mathbb {R^{\prime }}\) is the half of the total degree. According to Euler’s formula, we get

$$ \begin{array}{llllllllll} (|\mathcal{W^{\ast}}| + |\mathcal{V^{\ast}}|+ 1)-\frac{2 |\mathcal{W^{\ast}}| + deg(v_{\infty}) + {\sum}_{i = 3}^{k}(i \times |\mathcal{V}_{i}^{\ast}|)}{2} + |\mathcal{F^{\ast}}| = 2 \end{array} $$
(49)

Moreover, there might be less boundary points in \(\mathcal {W^{\ast }}\) in the cases when \(\mathcal {C}\) intersects with \(\mathcal {S}\) at inner vertices. Thus, after simplifying (49), we get (48), and this concludes Theorem 21. □

Theorem 21 studies the relation between vertices and faces in the overlapping region of a convex set and a subdivision. In Corollary 2, we will explore a specific case that a convex polygon overlaps a subdivision, and analyze the upper bound of the number of vertices and edges in the overlapping region.

Corollary 2

Given a subdivision\(\mathcal {S}\)ofa search space, in which the degree of vertices ranges from 3 to k,let\(\mathcal {F^{\ast }}\)bethe set of faces overlapping a convex polygon\(\mathcal {C}\)of m vertices, then the convex polygon contains atmost\( m + 2(|\mathcal {F^{\ast }}|-1)\)verticesand\(m + 3(|\mathcal {F^{\ast }}|-1)\)edges.

Proof

Similarly, we first create a vertex v to convert the subdivision in the convex polygon to a connected planar graph. v is connected to all boundary points in \(\mathcal {W^{\ast }}\) in the convex polygon, shown in Fig. 34. According to Theorem 21, we can get an upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\) in Eq. 48. Then, we create a new graph that consists of the inner vertices in \(\mathcal {V^{\ast }}\), inner edges, boundary points in \(\mathcal {W^{\ast }}\), vertices of \(\mathcal {C}\), and the boundary of \(\mathcal {C}\). v is not included in the graph. For example, the new graph in Fig. 34 is made up of all vertices and edges in \(\mathcal {C}\) and on the boundary of C. The degree of inner vertices ranges from 3 to k; the degree of boundary points is always 3 in the graph (w1 connects to w2, v1, and b1), and the degree of vertices of the polygon ({b1,b2,b3,b4,b5}) is 2. Then, the total degree of all vertices in the new graph is \(2 m + 3 |\mathcal {W^{\ast }}| + {\sum }_{i = 3}^{k} (i \times |\mathcal {V}_{i}^{\ast }|)\). Thus, the number of edges in the graph is

$$ \begin{array}{llllllllll} |e| &= \frac {2 m + 3 |\mathcal{W^{\ast}}| + {\sum}_{i = 3}^{k} (i \times |\mathcal{V}_{i}^{\ast}|)}{2} \\ &= m + \frac{3 |\mathcal{V^{\ast}}| + 3 |\mathcal{W^{\ast}}| + {\sum}_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|)}{2} \\ &\leq m + \frac{3 \times [2 (|\mathcal{F^{\ast}}|-1) - {\sum}_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|)] + {\sum}_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|)}{2} \\ &= m + 3 (|\mathcal{F^{\ast}}|-1) - \sum\limits_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|) \\ &\leq m + 3 (|\mathcal{F^{\ast}}|-1) \end{array} $$
(50)

By Theorem 21, the total number of vertices in \(\mathcal {C}\) is

$$ \begin{array}{llllllllll} |\mathcal{W^{\ast}}| + |\mathcal{V^{\ast}}| + m &\leq m + 2(|\mathcal{F^{\ast}}|-1) - \sum\limits_{i = 3}^{k}((i-3) \times |\mathcal{V}_{i}^{\ast}|) \leq m + 2(|\mathcal{F^{\ast}}|-1) \end{array} $$
(51)

Equations 50 and 51 conclude Corollary 2. Equations 50 and 51 are also held in cases if any point in \(\mathcal {W^{\ast }}\) happens to be a vertex of \(\mathcal {C}\), because the two upper bounds do not change in the cases. □

Since each boundary point breaks a line on the boundary of \(\mathcal {C}\) into two line segments, and the number of sides of \(\mathcal {C}\) is equal to the number of vertices of \(\mathcal {C}\), so the number of line segments on the boundary of \(\mathcal {C}\) is \(m + |\mathcal {W^{\ast }}|\), and the number of inner edges inside \(\mathcal {C}\) (the line segments on the boundary are excluded) is

$$ \begin{array}{llllllllll} |e| - (m + |\mathcal{W^{\ast}}|) \leq 3 (|\mathcal{F^{\ast}}|-1) - \sum\limits_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|) - |\mathcal{W^{\ast}}| \end{array} $$
(52)

If Corollary 2 is applied to the proposed MOVD updating operations, we can get the following corollary, in which MOVDs are considered as examples of subdivisions in a search space and the dominance region of an updated object is a convex polygon in ordinary MOVDs.

Corollary 3

Given an\(MOVD(\mathbb {E})\),a Voronoi diagramVD(Q) (\(Q \in \mathbb {E}\)),and an object q that is needed to insert into or deletefrom\(MOVD(\mathbb {E})\),letDom(q) be the dominance region of q after the insertion or before the deletion, thenDom(q) contains at most

$$ \begin{array}{llllllllll} &m + 2(|\mathcal{F^{\ast}}|-1) - (\sum\limits_{i = 3}^{\infty}(i-3) \times |\mathcal{V}_{i}^{\ast}|) \quad \text{vertices, and }\\ &m + 3(|\mathcal{F^{\ast}}|-1) - (\sum\limits_{i = 3}^{\infty}(i-3) \times |\mathcal{V}_{i}^{\ast}|) \quad \text{edges} \end{array} $$
(53)

where m is the number of vertices of Dom(q), \(\mathcal {F^{\ast }}\) denotes the set of OVRs overlapping Dom(q) in \(MOVD(\mathbb {E})\), and \(\mathcal {V}_{i}^{\ast }\) indicates the set of vertices with degree i inside Dom(q). The upper bound of the number of inner edges in Dom(q) (derived from Eq. 52) is

$$ \begin{array}{llllllllll} 3 (|\mathcal{F^{\ast}}|-1) - \sum\limits_{i = 3}^{k} ((i-3) \times |\mathcal{V}_{i}^{\ast}|) - |\mathcal{W^{\ast}}| < 3|\mathcal{F^{\ast}}| \end{array} $$
(54)

In addition to the analysis of the computational complexity of the proposed MOVD updating algorithms in Sections 7.3.2 and 7.3.3, Corollary 3 provides us with an upper bound of the computational complexity of ordinary MOVD updating. In the object insertion operation, the dominance region of an inserted object q and its neighbor OVRs are found by detecting the boundary points. The cost of the detection process is proportional to the total number of the boundary points and the number of vertices of Dom(q). When merging OVRs in the final step, we have analyzed the cost of one possible method that checks every pair of neighbor OVRs. The cost of the method is O(C × I), where C denotes the average number of neighbor OVRs of a given OVR, and I denotes the average number of OVRs in Dom(q). However, an alternative OVR merging method (for ordinary MOVDs) is iterating all the edges in Dom(q). Two OVRs will be merged if they share an edge and their group objects. Thus, the cost of the second OVR merging method is proportional to the number of inner edges in Dom(q), the upper bound of which is 3 × I specified in Eq. 54.

If an object p is deleted from an MOVD, the computational complexity of the object deletion algorithm is also bounded by O(C × I) at average cases, because every OVR inside Dom(q) is detected to merge with its neighbor OVRs outside Dom(q). If two OVRs have the same object group, they are merged in the deletion operation (See line 19 in Algorithm 8). However, we observe that, for any given OVR inside Dom(q), there is at most one neighbor OVR outside Dom(q) needed to merge with the given OVR. All other neighbor OVRs inside Dom(p) cannot share object groups with the given OVR, because they have been associated with different objects before deletion.

Lemma 2

Given anMOVD(E),whereE = {P1,...,Pn},and an object\({p_{i}^{k}} \in P_{i}\),PiE,if\({p_{i}^{k}}\)isdeleted fromMOVD(E),then ∀ ovr inside\(Dom({p_{i}^{k}})\),there is at most one OVR needed to merge with ovr at line 19 in Algorithm8.

Proof

When the algorithm reaches line 19, given two updated OVRs, ovr and ovr, there are two possible cases: (1) both ovr and ovr are in \(Dom({p_{i}^{k}})\). In this case, ovr and ovr are not merged, because they cannot share an object group. By the definition of MOVD, ovr and ovr are two OVRs before deletion; there must exist an object type j (ji); \({p_{j}^{s}}\) in the object group of ovr is different from \({p_{j}^{t}}\) in the object group of ovr. Moreover, since there is not any object in Pj removed during the deletion operation, \({p_{j}^{s}}\) and \({p_{j}^{t}}\) are still in the object groups of ovr and ovr after deletion. Thus, ovr and ovr cannot be merged in the deletion operation. (2) if ovr is inside \(Dom({p_{i}^{k}})\) but ovr is outside \(Dom({p_{i}^{k}})\), Theorem 2 is also held, and the proof is by contradiction as follows. We assume that ovr is needed to merge with two OVRs, ovr and ovr, outside \(Dom({p_{i}^{k}})\). Apparently, object groups of the three OVRs are the same after deletion. The deleted object \({p_{i}^{k}}\) is not in the object group of ovr or ovr, and object groups of ovr and ovr do not change during the deletion. However, ovr and ovr are two OVRs outside \(Dom({p_{i}^{k}})\) before deletion; by the definition of MOVD, the object group of ovr must be different from that of ovr, which contradicts with our assumption. Thus, there is at most one OVR needed to merge with ovr, and this concludes the proof. □

Moreover, from line 11 to 17 in Algorithm 8, we calcuate the boundaries of OVRs after q is removed from MOVD({Q}). The neighbor OVRs of q in MOVD({Q}) are kept in Updated_OVRs and all OVRs of MOVD(E) inside Dom(q) are in Removed_OVRs. Calculating the overlapping region of each pair of these OVRs are not necessary. The overlapping relation among these OVRs can be established when MOVD({Q}) is updated in line 9 and 10, because the new boundaries of OVRs in Updated_OVRs will go inside the OVRs in Removed_OVRs if they overlap with each other. Thus, we can obtain Lemma 3.

Lemma 3

Given anMOVD(E) and an object\({p_{i}^{k}}\)deletedfromMOVD(E),the number of times the overlapping region is calculated at line 12 in Algorithm8 is|MOVD(E)| in the worst case, where |MOVD(E)| denotes the number of OVRs inMOVD(E).

With Lemma 2 and 3, we get Theorem 22 as follows.

Theorem 22

Given anMOVD(E) and an object\({p_{i}^{k}}\)deletedfromMOVD(E),the computational complexity of Algorithm8 is |MOVD(E)| in the worst case, where |MOVD(E)| = nt, n denotes the number of objects in each type and t denotes the number of object types.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, J., Harn, PW., Ku, WS. et al. An overlapping Voronoi diagram-based system for multi-criteria optimal location queries. Geoinformatica 23, 105–161 (2019). https://doi.org/10.1007/s10707-018-00338-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10707-018-00338-7

Keywords

Navigation