This topic needs a title

I am writing a converter to convert from DEM to GRASS raster format.

I use G_open_new_cell_random() to create the new raster file. According to
progman.ps, when I call G_close_cell(), it will write the header file. How
do I set the header info for the cell data so that it will be saved?

Should I modify G__.fileinfo[fd]->cellhd to set it?
Or should I call G_put_cellhd() after calling G_close_cell?

Modifying the G__ structure seems more logical and efficient, but it is
used in gislib only, so perhaps it shouldn't be accessed directly.

The documentation (progman.ps) says that programmers shouldn't need to
use G_put_cellhd. Also, the write routine for cell files
G_put_map_row_random() uses G__.fileinfo[fd]->cellhd to determine what
to write (to see if it's inside the region or not).

Eric
eric@detritus.ees.wesleyan.edu

Header information is automatically created for a new raster from the active
region. When you start a program run the active region of the program
is the same as the current region in the file WIND, you can change
the active region using the G_set_region function. It is important
not to change the active region when there are rasters already open.

eg

struct Cell_head new_region;
int fd;

new_region.north=40000;
new_region.south=20000;
new_region.east=20000;
new_region.west=10000;
new_region.ns_res=50;
new_region.ew_res=50;

G_set_region(&new_region);

fd=G_open_cell_new_random("name");

/*do stuff*/

G_close_cell(fd);

the active regino will be forgotten when the prgram ends, and GRASS reverts to
the current region. You shouldn't need to modify the header information directly.

cheers Tom

Tom Charnock O--O
Dept Civil Engineering (~~~~)
Aston University ( __ )
Birmingham B4 7ET UK /|\ /|\
charnotw@sun.aston.ac.uk