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