GRASS 8 Programmer's Manual 8.6.0dev(2026)-4bb960b182
Loading...
Searching...
No Matches
R.h
Go to the documentation of this file.
1#include <grass/config.h>
2#include <grass/gis.h>
3
4#include <gdal.h>
5
6#define XDR_FLOAT_NBYTES 4
7#define XDR_DOUBLE_NBYTES 8
8#define NULL_ROWS_INMEM 8
9
10/* if short is 16 bits, then
11 * short will allow 32767 cols
12 * unsigned short will allow 65536 cols
13 * use int if you need more columns (but this will take more memory).
14 *
15 */
16typedef int COLUMN_MAPPING;
17
28
30 int, void *, int, int, GDALDataType, int,
31 int);
32
33struct tileinfo /* Information for tiles */
34{
35 char *name; /* Name of open file */
36 char *mapset; /* Mapset of open file */
37 struct Cell_head cellhd; /* Cell header */
38 struct ilist *clist; /* columns inside current region */
39};
40
41struct R_vrt {
44 struct ilist *tlist;
45};
46
47struct fileinfo /* Information for opened cell files */
48{
49 int open_mode; /* see defines below */
50 struct Cell_head cellhd; /* Cell header */
51 struct Reclass reclass; /* Table reclass */
52 struct Cell_stats statf; /* Cell stats */
53 struct Range range; /* Range structure */
54 struct FPRange fp_range; /* float Range structure */
56 int reclass_flag; /* Automatic reclass flag */
57 off_t *row_ptr; /* File row addresses */
58 COLUMN_MAPPING *col_map; /* Data to window col mapping */
59 /* Range of native columns of GDAL-linked maps needed with
60 * the current region. */
63 double C1, C2; /* Data to window row constants */
64 int cur_row; /* Current data row in memory */
65 int null_cur_row; /* Current null row in memory */
66 int cur_nbytes; /* nbytes per cell for current row */
67 unsigned char *data; /* Decompressed data buffer */
68 int null_fd; /* Null bitmap fd */
69 unsigned char *null_bits; /* Null bitmap buffer */
70 int nbytes; /* bytes per cell */
71 RASTER_MAP_TYPE map_type; /* type: int, float or double map */
72 char *temp_name; /* Temporary name for NEW files */
73 char *null_temp_name; /* Temporary name for NEW NULL files */
74 int null_file_exists; /* for existing raster maps */
75 char *name; /* Name of open file */
76 char *mapset; /* Mapset of open file */
77 int io_error; /* io error warning given */
78 struct Quant quant;
79 struct GDAL_link *gdal;
80 int data_fd; /* Raster data fd */
81 off_t *null_row_ptr; /* Null file row addresses */
82 struct R_vrt *vrt;
83};
84
85struct R__ /* Structure of library globals */
86{
87 RASTER_MAP_TYPE fp_type; /* type for writing floating maps */
88 int mask_fd; /* File descriptor for automatic mask */
89 int auto_mask; /* Flag denoting automatic masking */
91 int nbytes;
94 int window_set; /* Flag: window set? */
95 int split_window; /* Separate windows for input and output */
96 struct Cell_head rd_window; /* Window used for input */
97 struct Cell_head wr_window; /* Window used for output */
98
101};
102
103extern struct R__ R__; /* allocated in init */
104
105#define OPEN_OLD 1
106#define OPEN_NEW_COMPRESSED 2
107#define OPEN_NEW_UNCOMPRESSED 3
int COLUMN_MAPPING
Definition R.h:16
CPLErr Rast_gdal_raster_IO(GDALRasterBandH, GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int)
Input/output function for GDAL links.
Definition gdal.c:425
2D/3D raster map header (used also for region)
Definition gis.h:443
Definition raster.h:80
Definition R.h:86
int compress_nulls
Definition R.h:93
struct fileinfo * fileinfo
Definition R.h:100
int auto_mask
Definition R.h:89
int compression_type
Definition R.h:92
int window_set
Definition R.h:94
int want_histogram
Definition R.h:90
int fileinfo_count
Definition R.h:99
RASTER_MAP_TYPE fp_type
Definition R.h:87
int nbytes
Definition R.h:91
int split_window
Definition R.h:95
int mask_fd
Definition R.h:88
struct Cell_head wr_window
Definition R.h:97
struct Cell_head rd_window
Definition R.h:96
Definition R.h:41
struct tileinfo * tileinfo
Definition R.h:43
struct ilist * tlist
Definition R.h:44
int tilecount
Definition R.h:42
Definition R.h:48
off_t * row_ptr
Definition R.h:57
int data_fd
Definition R.h:80
char * mapset
Definition R.h:76
struct Quant quant
Definition R.h:78
RASTER_MAP_TYPE map_type
Definition R.h:71
int cur_nbytes
Definition R.h:66
int want_histogram
Definition R.h:55
unsigned char * null_bits
Definition R.h:69
struct R_vrt * vrt
Definition R.h:82
struct FPRange fp_range
Definition R.h:54
int null_fd
Definition R.h:68
struct Cell_head cellhd
Definition R.h:50
COLUMN_MAPPING * col_map
Definition R.h:58
off_t * null_row_ptr
Definition R.h:81
struct Reclass reclass
Definition R.h:51
int cur_row
Definition R.h:64
int reclass_flag
Definition R.h:56
struct GDAL_link * gdal
Definition R.h:79
int io_error
Definition R.h:77
int open_mode
Definition R.h:49
int null_file_exists
Definition R.h:74
COLUMN_MAPPING gdal_max_col
Definition R.h:62
unsigned char * data
Definition R.h:67
char * name
Definition R.h:75
char * temp_name
Definition R.h:72
struct Cell_stats statf
Definition R.h:52
double C2
Definition R.h:63
double C1
Definition R.h:63
int null_cur_row
Definition R.h:65
COLUMN_MAPPING gdal_min_col
Definition R.h:61
char * null_temp_name
Definition R.h:73
struct Range range
Definition R.h:53
int nbytes
Definition R.h:70
List of integers.
Definition gis.h:712
Definition R.h:34
struct Cell_head cellhd
Definition R.h:37
char * name
Definition R.h:35
struct ilist * clist
Definition R.h:38
char * mapset
Definition R.h:36