Abstract
The plane sweep algorithm is a foundational algorithm for many geometric and spatial computations; thus, improvements in the algorithm have far reaching effects in many applications. In this paper, we examine the performance of the serial plane sweep algorithm, and introduce a parallelization technique for the algorithm that is suitable to multi-core computers. The parallelization technique is described in detail and shown to be correct. Finally, experiments are performed using multiple data sets on computers with varying numbers of processing cores. We show that our algorithm achieves significant speedups over the serial plane sweep algorithm using a wide range of input parameters; thus, our algorithm achieves good performance without the need to tune the input parameters for specific input cases.
Similar content being viewed by others
References
Egenhofer MJ, Herring J (1990) Categorizing binary topological relations between regions, lines, and points in geographic databases, Technical report, National Center for Geographic Information and Analysis, University of California, Santa Barbara
Schneider M, Behr T (2006) Topological relationships between complex spatial objects. ACM Trans Database Syst (TODS) 31(1):39–81
Shamos M, Hoey D (1976) Geometric intersection problems. In: Foundations of computer science
Bentley J, Ottmann T (1979) Algorithms for reporting and counting geometric intersections. IEEE Trans Comput C-28:643–647
Nievergelt J, Preparata FP (1982) Plane-sweep algorithms for intersecting geometric figures. Commun ACM 25:739–747
Balaban IJ (1995) An optimal algorithm for finding segments intersections. In: ACM annual symposium on computational geometry, pp 211–219
Chazelle B, Edelsbrunner H (1992) An optimal algorithm for intersecting line segments in the plane. J ACM 39(1):1–54. doi:10.1145/147508.147511
Goodrich MT (1989) Intersecting line segments in parallel with an output-sensitive number of processors. In: ACM symposium on parallel algorithms and architectures, pp 127–137. doi:10.1145/72935.72950
McKenney M Parallel plane sweep source code. https://bitbucket.org/marmcke/parallelplanesweep, accessed: 03/07/2016
McKenney M Parallel plane sweep source code documentation, http://www.cs.siue.edu/marmcke/docs/parallelplanesweep/, accessed: 03/07/2016
Kriegel H-P, Brinkhoff T, Schneider R (1991) Combination of spatial access methods and computational geometry in geographic database systems. In: International symposium on advances in spatial databases, pp 5–21
Arge L, Procopiuc O, Ramaswamy S, Suel T, Vitter JS (1998) Scalable sweeping-based spatial join. In: VLDB ’98: Proceedings of the 24rd international conference on very large data bases. Morgan Kaufmann Publishers Inc., San Francisco, pp 570–581
Goodrich M, Tsay J, Vengroff D, Vitter J (1993) External-memory computational geometry. In: Foundations of computer science, pp 714–723. doi:10.1109/SFCS.1993.366816
Franklin W, Narayanaswaml C, Kankanhalli M, Sun D, Zho M-C, Wu PY (1989) Uniform grids: a technique for intersection detection on serial and parallel machines. In: Automated cartogrophy, pp 100–109
Goodrich M, Ghouse M, Bright J (1990) Generalized sweep methods for parallel computational geometry. In: SPAA ’90: proceedings of the 2nd annual ACM symposium on parallel algorithms and architectures. ACM, New York, pp 280–289. doi:10.1145/97444.97695
McKenney M, McGuire T (2009) A Parallel plane sweep algorithm for multi-core systems. In: ACM SIGSPATIAL international symposium on geographic information systems
McKenney M, De Luna G, Hill S, Lowell L (2011) Geospatial overlay computation on the gpu. In: Proceedings of the 19th ACM SIGSPATIAL international conference on advances in geographic information systems, GIS ’11. ACM, New York, pp 473–476. doi:10.1145/2093973.2094051
Audet S, Albertsson C, Murase M, Asahara A (2013) Robust and efficient polygon overlay on parallel stream processors. In: Proceedings of the 21st ACM SIGSPATIAL international conference on advances in geographic information systems, SIGSPATIAL’13. ACM, New York, pp 304–313. doi:10.1145/2525314.2525352
Orenstein J, Manola F (1988) Probe spatial data modeling and query processing in an image database application. IEEE Trans Softw Eng 14(5):611–629. doi:10.1109/32.6139
Patel JM, DeWitt DJ (1996) Partition based spatial-merge join. SIGMOD Rec 25(2):259–270. doi:10.1145/235968.233338
Samet H (1984) The quadtree and related hierarchical data structures. ACM Comput Surv 16(2):187–260. doi:10.1145/356924.356930
Jacox EH, Samet H Spatial join techniques. ACM Trans Database Syst 32 (1). doi:10.1145/1206049.1206056
Arge L, Procopiuc O, Ramaswamy S, Suel T, Vitter JS (1998) Scalable sweeping-based spatial join. In: Proceedings of the 24rd international conference on very large data bases, VLDB ’98. Morgan Kaufmann Publishers Inc., San Francisco, pp 570–581. http://dl.acm.org/citation.cfm?id=645924.671340
Eldawy A, Li Y, Mokbel M, Janardan R (2013) Cg hadoop: computational geometry in mapreduce. In: ACM SIGSPATIAL international conference on advances in geographic information systems
Eldawy A, Mokbel M (2015) Spatialhadoop: a mapreduce framework for spatial data. In: 2015 IEEE 31st international conference on data engineering (ICDE), pp 1352–1363. doi:10.1109/ICDE.2015.7113382
Lu J, Guting R (2012) Parallel secondo: boosting database engines with hadoop. In: 2012 IEEE 18th international conference on parallel and distributed systems (ICPADS), pp 738–743. doi:10.1109/ICPADS.2012.119
Aji A, Wang F, Vo H, Lee R, Liu Q, Zhang X, Saltz J (2013) Hadoop gis: a high performance spatial data warehousing system over mapreduce. Proc VLDB Endow 6(11):1009–1020. doi:10.14778/2536222.2536227
Cary A, Sun Z, Hristidis V, Rishe N (2009) Experiences on processing spatial data with mapreduce. In: Proceedings of the 21st international conference on scientific and statistical database management, SSDBM, vol 2009. Springer-Verlag, Berlin, Heidelberg, pp 302–319
Zhang S, Han J, Liu Z, Wang K, Feng S (2009) Spatial queries evaluation with mapreduce. In: 8th international conference on grid and cooperative computing, 2009. GCC ’09, pp 287–292. doi:10.1109/GCC.2009.16
Liao H, Han J, Fang J (2010) Multi-dimensional index on hadoop distributed file system. In: 2010 IEEE 5th international conference on networking, architecture and storage (NAS), pp 240–249. doi:10.1109/NAS.2010.44
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
McKenney, M., Frye, R., Dellamano, M. et al. Multi-core parallelism for plane sweep algorithms as a foundation for GIS operations. Geoinformatica 21, 151–174 (2017). https://doi.org/10.1007/s10707-016-0277-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10707-016-0277-7