GIS Actors in Kepler - Java-based, GDAL-JNI, and C++(Grass) Routines
Dan Higgins - UC Santa Barbara (NCEAS)Chad Berkley – UC Santa Barbara (NCEAS)
Jianting Zhang - University of New Mexico(LTER)
Prepared for the 6th Biennial Ptolemy MiniconferenceMay 12, 2005 at UC Berkeley
http://seek.ecoinformatics.orghttp://www.kepler-project.org
This material is based upon work supported by the National Science Foundation under award 0225676.
Goal : Predict Species Locations Based on Known Locations and Climate/Geographic
Spatial Data
• Goal is to correlate spatial data with known locations to predict other locations where a species might exist (Environmental Niche Modeling)
• Requires manipulation of geographically referenced point data and GIS raster data from variety of sources
GDAL - Geospatial Data Abstraction Libraryhttp://www.remotesensing.org/gdal/
GDAL translatorlibrary connected toKepler actors via JNI
GDAL can input ~40different raster formats
Conversion betweendifferent projectionspossible
File format conversionsalso possible
Java-based actors created to read and manipulate ASCII grid files
ImageJ image processing package from NIH added as an actor to display and manipulate images
ImageJ has macro capabilities & numerous plug-ins
ImageJ - http://rsb.info.nih.gov/ij/
Java Actors for Handling ASC Grid Files
Convex Hull algorithm relatively easy to implement in Java
Java routines for the Convex Hull convert the polygon to a shape which can be ‘scaled’ in size
Scale Factor = 1Scale Factor = 2
Java Routines for Convex Hull Calculation and Rasterization
Java Actors for Rescaling and Merging
Java actors can rescale ASCII grid files, changing resolution and extent
Both nearest-neighbor and Inverse-Distance-Weighted algorithms implemented
Disk-based code allows very large grids to be manipulated (i.e not limited by RAM)
Grid rasters can be ‘merged’ with various operations on data in overlapping pixels
Start
Rescale and Clip
Merge
Finish
GRASS - Geographic Resources Analysis Support System (http://grass.itc.it/)
Functionality• Polygon
Rasterization• Raster
Buffering
Method• Extracting C
source codes of the modules and related routines
• Using JNI to interface with Kepler/Ptolemy
Advantages
•Avoids including the whole GRASS distribution (~100M) – Light-weighted
•Allows defining common error coding between C/Java codes – More robust
GRASS –Cont.Based on Version 5.7 (Most Recent 6.0)
SUMMARY
Several methods have been used to create actors which implement GIS operations
Types of operations limited to those needed for specific species distribution workflow
Emphasis has been on raster operations; some vector operations will be implemented in future
Other efforts are implementing GIS operations using Web Services