A parallel method to accelerate spatial operations involving polygon intersections

ABSTRACT Polygon intersection is an important spatial data-handling process, on which many spatial operations are based. However, this process is computationally intensive because it involves the detection and calculation of polygon intersections. We addressed this computation issue based on two perspectives. First, we improved a method called boundary algebra filling to efficiently rasterize the input polygons. Polygon intersections were subsequently detected in the cells of the raster. Owing to the use of a raster data structure, this method offers advantages of reduced task dependence and improved performance. Based on this method, we developed parallel strategies for different procedures in terms of workload decomposition and task scheduling. Thus, the workload across different parallel processes can be balanced. The results suggest that our method can effectively accelerate the process of polygon intersection. When addressing datasets with 1,409,020 groups of overlapping polygons, our method could reduce the total execution time from 987.82 to 53.66 s, thereby obtaining an optimal speedup ratio of 18.41 while consistently balancing the workloads. We also tested the effect of task scheduling on the parallel efficiency, showing that reducing the total runtime is effective, especially for a lower number of processes. Finally, the good scalability of the method is demonstrated.

[1]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[2]  Paul A. Longley,et al.  Geographic Information Science and Systems , 2015 .

[3]  Thomas C. Waugh,et al.  An algorithm for polygon overlay using cooperative parallel processing , 1992, Int. J. Geogr. Inf. Sci..

[4]  Bala R. Vatti A generic solution to polygon clipping , 1992, CACM.

[5]  Xi He,et al.  MapReduce Algorithms for GIS Polygonal Overlay Processing , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[6]  Jiechen Wang,et al.  An efficient algorithm for clipping operation based on trapezoidal meshes and sweep-line technique , 2012, Adv. Eng. Softw..

[7]  A-Xing Zhu,et al.  Data decomposition method for parallel polygon rasterization considering load balancing , 2015, Comput. Geosci..

[8]  Chris Fleizach Multi-Step Processing of Spatial Joins , 2016 .

[9]  Chenghu Zhou,et al.  DWSI: an approach to solving the polygon intersection-spreading problem with a parallel union algorithm at the feature layer level , 2014 .

[10]  Kenneth A. Hawick,et al.  Distributed frameworks and parallel algorithms for processing large-scale geographic data , 2003, Parallel Comput..

[11]  Shashi Shekhar,et al.  Declustering and Load-Balancing Methods for Parallelizing Geographic Information Systems , 1998, IEEE Trans. Knowl. Data Eng..

[12]  Suprio Ray,et al.  Speeding up Spatial Database Query Execution using GPUs , 2012, ICCS.

[13]  Peter A. Rogerson,et al.  Spatial Analysis and GIS , 1994 .

[14]  Hui Dong,et al.  One rasterization approach algorithm for high performance map overlay , 2009, 2009 17th International Conference on Geoinformatics.

[15]  Miaoqing Huang,et al.  A hybrid parallel cellular automata model for urban growth simulation over GPU/CPU heterogeneous architectures , 2016, Int. J. Geogr. Inf. Sci..

[16]  Xiaofang Zhou,et al.  Data Partitioning for Parallel Spatial Join Processing , 1997, GeoInformatica.

[17]  Yong Wang,et al.  Improving the performance of GIS polygon overlay computation with MapReduce for spatial big data processing , 2015, Cluster Computing.

[18]  Yves Robert,et al.  The master-slave paradigm with heterogeneous processors , 2001, Proceedings 42nd IEEE Symposium on Foundations of Computer Science.

[19]  Xi He,et al.  A System for GIS Polygonal Overlay Computation on Linux Cluster - An Experience and Performance Report , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[20]  Fangju Wang A parallel intersection algorithm for vector polygon overlay , 1993, IEEE Computer Graphics and Applications.

[21]  Peter R. Atherton,et al.  Hidden surface removal using polygon area sorting , 1977, SIGGRAPH.

[22]  Gang Chen,et al.  A Novel Algorithm of Buffer Construction Based on Run-length Encoding , 2010 .

[23]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[24]  Richard Healey,et al.  Parallel Processing Algorithms for GIS , 1997 .

[25]  Francisco R. Feito-Higueruela,et al.  A new algorithm for computing Boolean operations on polygons , 2009, Comput. Geosci..

[26]  Bilişim Run-Length Encoding , 2010 .

[27]  Borut Zalik,et al.  An algorithm for polygon clipping, and for determining polygon intersections and unions , 2007, Comput. Geosci..

[28]  Günther Greiner,et al.  Efficient clipping of arbitrary polygons , 1998, TOGS.