CyberGIS Toolkit Home Page

pRasterBlaster

Map reprojection (Finn, Liu et al. 2012) converts global raster datasets from a projection to another, which involves common map operations such as coordinate translation, framing, forward- and inverse-mapping, interpolation or resampling. pRasterBlaster, a parallel map reprojection software contributed by USGS, was developed using MPI to facilitate memory-intensive computation for global-scale map reprojection.

pRasterBlaster was tested on XSEDE supercomputers by using up to 1,024 processor cores. A major computational bottleneck that led to work load imbalance among MPI processes was identified and resolved. Since then, pRasterBlaster's software structure was redesigned to be more suitable for parallel computing. pRasterBlaster now includes the librasterblaster library, a standalone library for map reprojection in parallel computing, and pRasterBlaster application.

Download

Publications

If you publish your work in which CyberGIS Gi*(d) is used, please cite the following publication(s):

  • Finn, M., Y. Liu, et al. 2012. “pRasterBlaster: High-Performance Small-Scale Raster Map Projection Transformation Using the Extreme Science and Engineering Discovery Environment”. The XXII Congress of the International Society for Photogrammetry and Remote Sensing. Melbourne, Australia.
  • Usery, E.L., Seong, J.C., and Steinwand, D. 2001. “Methods To Achieve Accurate Projection of Regional and Global Raster Databases”. U.S. Geological Survey Open-File Report 01-181. 11 p

Install

pRasterBlaster depends on MPI and GDAL. GDAL should be compiled with GEOS and PROJ4.

# geos. in geos src pkg dir
./configure --prefix=/path/to/geos
make
make install
# proj4. in proj4 src pkg dir
./configure --prefix=/path/to/geos
make
make install
#Typical GDAL install options. in gdal src pkg dir
export PATH=/path/to/proj4/bin:$PATH
export LD_LIBRARY_PATH=/path/to/proj4/lib:$PATH
./configure --with-libtiff=internal --with-geotiff=internal --with-png=internal --with-jpeg=internal --with-gif=internal --without-curl --without-python --with-geos=/path/to/geos/bin/geos-config --with-hdf5=no --with-hdf4=no --with-netcdf=no --prefix=/path/to/gdal --with-sqlite3=no  --with-pg=no
make
make install
 
#pRasterBlaster install. in prasterblaster src pkg dir
autoreconf -iv
./configure CC=mpicc CXX=mpicxx --with-gdal-incdir=/path/to/gdal/include --with-gdal-libdir=/path/to/gdal/lib --with-tiff-incdir=/path/to/gdal_src_dir/frmts/gtiff/libtiff --prefix=/path/to/prasterblaster
make
make install

Examples

Usage: mpirun -np [number of processes] prasterblasterpio --t_srs +proj=[projection] -n [chunk_size] [input_geotiff] [output_geotiff]

Example:

./prasterblasterpio --t_srs +proj=moll -n 21600 tests/testdata/glc_geographic_30sec.tif tests/testoutput/glc_mollweide_30sec.tif

NMI Build and Test Status

References

  • Behzad, B., Y. Liu, et al. 2012. “A Performance Profiling Strategy for High-Performance Map ReProjection of Course-Scale Spatial Raster Data”. The 2012 AutoCarto International Symposium on Automated Cartography. Columbus, OH.