This article establishes a new methodological framework for parallelizing spatial data processing called parallel cartographic modeling, which extends the widely adopted cartographic modeling framework. Parallel cartographic modeling adds a novel component called a Subdomain, which serves as the elemental unit of parallel computation. Four operators are also added to express parallel spatial data processing, namely scheduler, decomposition, executor, and iteration. A parallel cartographic modeling language (PCML) is developed based on the parallel cartographic modeling framework, which is designed for usability, programmability, and scalability. PCML is a domain-specific language implemented in Python for the domain of cyberGIS. A key feature of PCML is that it supports automatic parallelization of cartographic modeling scripts; thus, allowing the analyst to develop models in the familiar cartographic modeling language in a Python syntax. PCML currently supports more than 70 operations and new operations can be easily implemented in as little as three lines of PCML code. Experimental results using the National Science Foundation-supported Resourcing Open Geospatial Education and Research computational resource demonstrate that PCML efficiently scales to 16 cores and can process gigabytes of spatial data in parallel. PCML is shown to support multiple decomposition strategies, decomposition granularities, and iteration strategies that be generically applied to any operation implemented in PCML.
|Original language||English (US)|
|Number of pages||22|
|Journal||International Journal of Geographical Information Science|
|State||Published - Dec 1 2016|
Bibliographical noteFunding Information:
This work was supported by the CyberGIS Fellows program under NSF [grant number 1047916] and the William L. Garrison Award for Best Dissertation in Computational Geography.
© 2016 Informa UK Limited, trading as Taylor & Francis Group.
Copyright 2017 Elsevier B.V., All rights reserved.
- Cartographic modeling language
- Python programming
- high-performance computing
- map algebra
- spatial data processing