Package org.geotools.gce.grassraster
GRASS input/output drivers
In this package the I/O drivers for reading and writing GRASS raster maps are placed.
To better understand the code a good overview should be taken on the GRASS database-Location-Mapset structure, of which a short introduction is given below.
File structure of GRASS Location
A GRASS raster map consists of several files in several subdirectories in a mapset, organized as follows:- cellhd/: map header including projection code, coordinates representing the spatial extent of the raster map, number of rows and columns, resolution, and information about map compression;
- cell/, fcell/ or grid3/: generic matrix of values in a compressed, portable format which depends on the raster data type (integer, floating point or 3D grid);
- hist/: history file which contains metadata such as the data source, the command that was used to generate the raster map, or other information provided by the user;
- cats/: optional category file which contains text or numeric labels assigned to the raster map categories;
- colr/: optional color table;
- cell_misc/: optional timestamp, range of values, quantization rules (for floating point maps) and null (no-data) files;
- WIND - contains the active processing region and the resolution
- PROJ_INFO - contains the information about the projection
- PROJ_UNITS - contains the information about projection units used
- cell, fcell - contain the raster files
- vector - contain the vector data since GRASS 6
- sites_list - contain the sites type data, deprecated from GRASS 6 on, but maintained in JGrass
The cell header file
A typical grass map header looks like the following:
proj: 1
zone: 13
north: 4928000
south: 4914000
east: 609000
west: 590000
cols: 950
rows: 700
e-w resol: 20
n-s resol: 20
format: 0
compressed: 1
Reclassified files
If the first line reports 'reclass' then this file is a reclassified file and the original data file is given by the following two lines:
reclass
name: soils
mapset: PERMANENT
#1 5 3 8 .... ....
The color table file
Colortables for GRASS 5 and greater are supported.
The format of the color file, which is located in location/mapset/colr/mapname is the following:
The first line is a % character and two numbers indicating the minimum and maximum data values which have colors. Note that in JGrass after the range values we add a third value for alpha support.
After the first line, the list of color rules appears, that can be of the following formats:
value1:r:g:b value2:r:g:b
interpolation of colors between the two values with the two colorsvalue1:grey value2:grey
value1:r:g:b
assumption that it means that value1 == value2nv:r:g:b
novalues could also have color with such a rule.
-
Class Summary Class Description DummyProgressListener A dummy progress listener.GrassBinaryImageReader ImageIO reader for the grass binary raster format.GrassBinaryImageWriter GrassCoverageReader Coverage Reader class for reading GRASS raster maps.GrassCoverageReadParam Represents the read parameters in the geotools space, as opposed to GrassBinaryImageReadParam that are for the imageio space.GrassCoverageWriter Coverage Writer class for writing GRASS raster maps.JGrassConstants Constants used by the JGrass engineJGrassMapEnvironment Represents the structure around a map inside a grass database.JGrassRegion Represents the geographic region used in the jGrass engines.JGrassUtilities A facade of often used methods by the JGrass engine