GIS Actors in Kepler - Java-based, GDAL

Download Report

Transcript GIS Actors in Kepler - Java-based, GDAL

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 Miniconference
May 12, 2005 at UC Berkeley
http://seek.ecoinformatics.org
http://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 Library
http://www.remotesensing.org/gdal/
GDAL translator
library connected to
Kepler actors via JNI
GDAL can input ~40
different raster formats
Conversion between
different projections
possible
File format conversions
also possible
Java Actors for Handling ASC Grid Files
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 Routines for Convex Hull Calculation
and Rasterization
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 = 1
Scale Factor = 2
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
Rescale and Clip
Merge
Disk-based code allows very
large grids to be
manipulated (i.e not limited
by RAM)
Start
Grid rasters can be ‘merged’
with various operations on
data in overlapping pixels
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
GRASS –Cont.
Based on Version 5.7 (Most Recent 6.0)
Advantages
•Avoids
including the
whole GRASS
distribution
(~100M) –
Light-weighted
•Allows
defining
common error
coding
between
C/Java codes
– More robust
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