DECLARATIVE GEOPROCESSING: GEARSCAPE GEOPROCESSING LANGUAGE (GGL)
GGL (Gearscape Geoprocessing Language) is a language based on SQL'92 and extended spatially according to the OGC Simple Features Specification standard. The GGL interpreter is capable of reading a sequence of spatial SQL instructions and apply them on different data sources, independently of their storage format (shapefiles, csv, PostGIS tables, etc.) producing new data sources that can be reused in new GGL instructions.
GGL extends the SQL standard in several ways. One of them is the ability to execute algorithms implemented in java. This, along with the integration of a raster data type, makes GGL able to perform also raster analysis. These extensions have also made possible a prototype that lets the user invoke SEXTANTE algorithms inside GGL scripts.
The other important extension provides several language structures to define the data sources scripts operate on. Scripts thus defined reference abstract parameters rather than real data sources so it is possible to reuse them with different data sources, provided they match the parameter definition. For example, it is possible to have a script that perform a coordinate system transformation on any source that has a geometric field.
GGL stands for Gearscape Geoprocessing Language as it was the first software that provided a GGL interpreter. Currently it is also possible to use GGL in 52ºN WPS server implementation and there is a prototype that makes GGL interpreter use the gvSIG 2.0 API to access the data sources.
Currently there is a work in progress in the GRYCAP group at Universidad Politécnica de Valencia to create a GGL prototype able to execute the instructions in a computer grid. As GGL is a declarative language, it is possible to analyze a whole script or set of scripts to obtain the best way to divide and distribute the problem on the grid.
Fernando González Cortés - Freelance
Víctor González Cortés - Universidad Politécnica Valencia