GRASS GIS 8 Programmer's Manual
8.5.0dev(2024)-36359e2344
|
Raster library - Put raster row. More...
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <grass/config.h>
#include <grass/raster.h>
#include <grass/glocale.h>
#include "R.h"
Go to the source code of this file.
Functions | |
void | Rast_put_row (int fd, const void *buf, RASTER_MAP_TYPE data_type) |
Writes the next row for cell/fcell/dcell file. More... | |
void | Rast_put_c_row (int fd, const CELL *buf) |
Writes the next row for cell file (CELL version) More... | |
void | Rast_put_f_row (int fd, const FCELL *buf) |
Writes the next row for fcell file (FCELL version) More... | |
void | Rast_put_d_row (int fd, const DCELL *buf) |
Writes the next row for dcell file (DCELL version) More... | |
void | Rast__write_null_bits (int fd, const unsigned char *flags) |
Write null data. More... | |
Raster library - Put raster row.
(C) 2003-2009 by the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file raster/put_row.c.
void Rast__write_null_bits | ( | int | fd, |
const unsigned char * | flags | ||
) |
Write null data.
flags | ? |
row | row number |
col | col number |
fd | file descriptor of cell data file |
Definition at line 553 of file raster/put_row.c.
References fileinfo::cellhd, Cell_head::cols, R__::fileinfo, fileinfo::null_cur_row, fileinfo::null_row_ptr, and Rast__null_bitstream_size().
void Rast_put_c_row | ( | int | fd, |
const CELL * | buf | ||
) |
Writes the next row for cell file (CELL version)
See Rast_put_row() for details.
fd | file descriptor where data is to be written |
buf | buffer holding data |
Definition at line 80 of file raster/put_row.c.
References CELL_TYPE, and Rast_put_row().
void Rast_put_d_row | ( | int | fd, |
const DCELL * | buf | ||
) |
Writes the next row for dcell file (DCELL version)
See Rast_put_row() for details.
fd | file descriptor where data is to be written |
buf | buffer holding data |
Definition at line 110 of file raster/put_row.c.
References DCELL_TYPE, and Rast_put_row().
void Rast_put_f_row | ( | int | fd, |
const FCELL * | buf | ||
) |
Writes the next row for fcell file (FCELL version)
See Rast_put_row() for details.
fd | file descriptor where data is to be written |
buf | buffer holding data |
Definition at line 95 of file raster/put_row.c.
References FCELL_TYPE, and Rast_put_row().
void Rast_put_row | ( | int | fd, |
const void * | buf, | ||
RASTER_MAP_TYPE | data_type | ||
) |
Writes the next row for cell/fcell/dcell file.
Writes the next row for the cell file opened on 'fd' from 'buf' All writes go into NEW files that exactly match the current window. The file must have been opened with Rast_open_new() and be written sequentially, ie no skipping rows.
When the null values are embedded into the data, corresponding cells are changed to 0's and the corresponding null value row is written into null file.
A map cannot be copied using Rast_get_row() and Rast_put_row(). The former resamples the data of the original map into a row buffer that matches the current window. The later writes out rows associated with the window.
Keeps track of the minimum and maximum cell value for use in updating the range file upon close of the cell file. HOWEVER when nulls are not embedded, the cells are considered 0's as far as updating range is concerned, even if the corresponding cell is null in the resulting null file, so programmer should be carefult to set all the null values using Rast_set_null_value() or G_insert_d_null_values() or G_insert_f_null_values().
fd | file descriptor where data is to be written |
buf | buffer holding data |
data_type | raster map type (CELL_TYPE, FCELL_TYPE, DCELL_TYPE) |
Definition at line 65 of file raster/put_row.c.
Referenced by Rast_put_c_row(), Rast_put_d_row(), and Rast_put_f_row().