SAGA API v9.10
Loading...
Searching...
No Matches
grid.h File Reference
#include "table.h"
#include "grid_pyramid.h"

Go to the source code of this file.

Classes

class  CSG_Grid_System
class  CSG_Grid_File_Info
class  CSG_Grid
class  CSG_Grid_Stack
class  CSG_Grid_Cell_Addressor

Macros

#define GRID_FILE_KEY_TRUE   SG_T("TRUE")
#define GRID_FILE_KEY_FALSE   SG_T("FALSE")
#define GRID_RESAMPLING_NearestNeighbour   CSG_Grid_Resampling::NearestNeighbour
#define GRID_RESAMPLING_Bilinear   CSG_Grid_Resampling::Bilinear
#define GRID_RESAMPLING_BicubicSpline   CSG_Grid_Resampling::Bicubic_1
#define GRID_RESAMPLING_BSpline   CSG_Grid_Resampling::Bicubic_2
#define GRID_RESAMPLING_Mean_Nodes   CSG_Grid_Resampling::Mean_Nodes
#define GRID_RESAMPLING_Mean_Cells   CSG_Grid_Resampling::Mean_Cells
#define GRID_RESAMPLING_Minimum   CSG_Grid_Resampling::Minimum
#define GRID_RESAMPLING_Maximum   CSG_Grid_Resampling::Maximum
#define GRID_RESAMPLING_Majority   CSG_Grid_Resampling::Majority
#define GRID_RESAMPLING_Undefined   CSG_Grid_Resampling::Undefined
#define TSG_Grid_Resampling   CSG_Grid_Resampling
#define SG_GRID_PTR_SAFE_SET_NODATA(g, x, y)
#define SG_GRID_PTR_SAFE_SET_VALUE(g, x, y, z)
#define SG_GRIDCELLADDR_PARM_SQUARE   0x01
#define SG_GRIDCELLADDR_PARM_CIRCLE   0x02
#define SG_GRIDCELLADDR_PARM_ANNULUS   0x04
#define SG_GRIDCELLADDR_PARM_SECTOR   0x08
#define SG_GRIDCELLADDR_PARM_SIZEDBL   0x10
#define SG_GRIDCELLADDR_PARM_MAPUNIT   0x20
#define SG_GRIDCELLADDR_PARM_WEIGHTING   0x40
#define SG_GRIDCELLADDR_PARM_DEFAULT   (SG_GRIDCELLADDR_PARM_SQUARE|SG_GRIDCELLADDR_PARM_CIRCLE)

Enumerations

enum  TSG_Grid_File_Format {
  GRID_FILE_FORMAT_Undefined = 0 , GRID_FILE_FORMAT_Binary_old , GRID_FILE_FORMAT_Binary , GRID_FILE_FORMAT_ASCII ,
  GRID_FILE_FORMAT_Compressed , GRID_FILE_FORMAT_GeoTIFF
}
enum  TSG_Grid_File_Key {
  GRID_FILE_KEY_NAME = 0 , GRID_FILE_KEY_DESCRIPTION , GRID_FILE_KEY_UNITNAME , GRID_FILE_KEY_DATAFILE_NAME ,
  GRID_FILE_KEY_DATAFILE_OFFSET , GRID_FILE_KEY_DATAFORMAT , GRID_FILE_KEY_BYTEORDER_BIG , GRID_FILE_KEY_POSITION_XMIN ,
  GRID_FILE_KEY_POSITION_YMIN , GRID_FILE_KEY_CELLCOUNT_X , GRID_FILE_KEY_CELLCOUNT_Y , GRID_FILE_KEY_CELLSIZE ,
  GRID_FILE_KEY_Z_FACTOR , GRID_FILE_KEY_Z_OFFSET , GRID_FILE_KEY_NODATA_VALUE , GRID_FILE_KEY_TOPTOBOTTOM ,
  GRID_FILE_KEY_Count
}
enum class  CSG_Grid_Resampling {
  NearestNeighbour = 0x001 , Bilinear = 0x002 , Bicubic_1 = 0x004 , Bicubic_2 = 0x008 ,
  Mean_Nodes = 0x010 , Mean_Cells = 0x020 , Minimum = 0x040 , Maximum = 0x080 ,
  Majority = 0x100 , Interpolations = NearestNeighbour|Bilinear|Bicubic_1|Bicubic_2 , Means = Mean_Nodes|Mean_Cells , Extremes = Maximum|Minimum ,
  Aggregations = Means|Extremes|Majority , All = Interpolations|Aggregations , Undefined = 0x000
}
enum  TSG_Grid_Operation { GRID_OPERATION_Addition = 0 , GRID_OPERATION_Subtraction , GRID_OPERATION_Multiplication , GRID_OPERATION_Division }

Functions

SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (void)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (const CSG_Grid &Grid)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (const char *File, TSG_Data_Type Type=SG_DATATYPE_Undefined, bool bCached=false, bool bLoadData=true)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (const wchar_t *File, TSG_Data_Type Type=SG_DATATYPE_Undefined, bool bCached=false, bool bLoadData=true)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (const CSG_String &File, TSG_Data_Type Type=SG_DATATYPE_Undefined, bool bCached=false, bool bLoadData=true)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (CSG_Grid *pGrid, TSG_Data_Type Type=SG_DATATYPE_Undefined, bool bCached=false)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (const CSG_Grid_System &System, TSG_Data_Type Type=SG_DATATYPE_Undefined, bool bCached=false)
SAGA_API_DLL_EXPORT CSG_GridSG_Create_Grid (TSG_Data_Type Type, int NX, int NY, double Cellsize=0., double xMin=0., double yMin=0., bool bCached=false)
SAGA_API_DLL_EXPORT const SG_CharSG_Grid_Cache_Get_Directory (void)
SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Directory (const SG_Char *Directory)
SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Mode (int Mode)
SAGA_API_DLL_EXPORT int SG_Grid_Cache_Get_Mode (void)
SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Threshold (int nBytes)
SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Threshold_MB (double nMegabytes)
SAGA_API_DLL_EXPORT sLong SG_Grid_Cache_Get_Threshold (void)
SAGA_API_DLL_EXPORT double SG_Grid_Cache_Get_Threshold_MB (void)
SAGA_API_DLL_EXPORT bool SG_Grid_Set_File_Format_Default (int Format)
SAGA_API_DLL_EXPORT TSG_Grid_File_Format SG_Grid_Get_File_Format_Default (void)
SAGA_API_DLL_EXPORT CSG_String SG_Grid_Get_File_Extension_Default (void)

Variables

const SG_Char gSG_Grid_File_Key_Names [GRID_FILE_KEY_Count][32]

Detailed Description

Classes for raster data management.

See also
CSG_Data_Object
CSG_Grid_System
CSG_Grid

Definition in file grid.h.

Macro Definition Documentation

◆ GRID_FILE_KEY_FALSE

#define GRID_FILE_KEY_FALSE   SG_T("FALSE")

Definition at line 145 of file grid.h.

Referenced by CSG_Grid_File_Info::Save().

◆ GRID_FILE_KEY_TRUE

#define GRID_FILE_KEY_TRUE   SG_T("TRUE")

Definition at line 144 of file grid.h.

Referenced by CSG_Grid_File_Info::Create(), and CSG_Grid_File_Info::Save().

◆ GRID_RESAMPLING_BicubicSpline

#define GRID_RESAMPLING_BicubicSpline   CSG_Grid_Resampling::Bicubic_1

Definition at line 181 of file grid.h.

◆ GRID_RESAMPLING_Bilinear

#define GRID_RESAMPLING_Bilinear   CSG_Grid_Resampling::Bilinear

Definition at line 180 of file grid.h.

◆ GRID_RESAMPLING_BSpline

#define GRID_RESAMPLING_BSpline   CSG_Grid_Resampling::Bicubic_2

Definition at line 182 of file grid.h.

◆ GRID_RESAMPLING_Majority

#define GRID_RESAMPLING_Majority   CSG_Grid_Resampling::Majority

Definition at line 187 of file grid.h.

◆ GRID_RESAMPLING_Maximum

#define GRID_RESAMPLING_Maximum   CSG_Grid_Resampling::Maximum

Definition at line 186 of file grid.h.

◆ GRID_RESAMPLING_Mean_Cells

#define GRID_RESAMPLING_Mean_Cells   CSG_Grid_Resampling::Mean_Cells

Definition at line 184 of file grid.h.

◆ GRID_RESAMPLING_Mean_Nodes

#define GRID_RESAMPLING_Mean_Nodes   CSG_Grid_Resampling::Mean_Nodes

Definition at line 183 of file grid.h.

◆ GRID_RESAMPLING_Minimum

#define GRID_RESAMPLING_Minimum   CSG_Grid_Resampling::Minimum

Definition at line 185 of file grid.h.

◆ GRID_RESAMPLING_NearestNeighbour

#define GRID_RESAMPLING_NearestNeighbour   CSG_Grid_Resampling::NearestNeighbour

Definition at line 179 of file grid.h.

◆ GRID_RESAMPLING_Undefined

#define GRID_RESAMPLING_Undefined   CSG_Grid_Resampling::Undefined

Definition at line 188 of file grid.h.

◆ SG_GRID_PTR_SAFE_SET_NODATA

#define SG_GRID_PTR_SAFE_SET_NODATA ( g,
x,
y )
Value:
{ if( g && g->is_InGrid(x, y, false) ) { g->Set_NoData(x, y ); } }

Definition at line 1014 of file grid.h.

◆ SG_GRID_PTR_SAFE_SET_VALUE

#define SG_GRID_PTR_SAFE_SET_VALUE ( g,
x,
y,
z )
Value:
{ if( g && g->is_InGrid(x, y, false) ) { g->Set_Value (x, y, z); } }

Definition at line 1015 of file grid.h.

◆ SG_GRIDCELLADDR_PARM_ANNULUS

◆ SG_GRIDCELLADDR_PARM_CIRCLE

#define SG_GRIDCELLADDR_PARM_CIRCLE   0x02

◆ SG_GRIDCELLADDR_PARM_DEFAULT

#define SG_GRIDCELLADDR_PARM_DEFAULT   (SG_GRIDCELLADDR_PARM_SQUARE|SG_GRIDCELLADDR_PARM_CIRCLE)

Definition at line 1125 of file grid.h.

◆ SG_GRIDCELLADDR_PARM_MAPUNIT

#define SG_GRIDCELLADDR_PARM_MAPUNIT   0x20

Definition at line 1123 of file grid.h.

Referenced by CSG_Grid_Cell_Addressor::Add_Parameters().

◆ SG_GRIDCELLADDR_PARM_SECTOR

◆ SG_GRIDCELLADDR_PARM_SIZEDBL

#define SG_GRIDCELLADDR_PARM_SIZEDBL   0x10

Definition at line 1122 of file grid.h.

Referenced by CSG_Grid_Cell_Addressor::Add_Parameters().

◆ SG_GRIDCELLADDR_PARM_SQUARE

#define SG_GRIDCELLADDR_PARM_SQUARE   0x01

◆ SG_GRIDCELLADDR_PARM_WEIGHTING

#define SG_GRIDCELLADDR_PARM_WEIGHTING   0x40

Definition at line 1124 of file grid.h.

Referenced by CSG_Grid_Cell_Addressor::Add_Parameters().

◆ TSG_Grid_Resampling

#define TSG_Grid_Resampling   CSG_Grid_Resampling

Definition at line 189 of file grid.h.

Enumeration Type Documentation

◆ CSG_Grid_Resampling

enum class CSG_Grid_Resampling
strong
Enumerator
NearestNeighbour 
Bilinear 
Bicubic_1 
Bicubic_2 
Mean_Nodes 
Mean_Cells 
Minimum 
Maximum 
Majority 
Interpolations 
Means 
Extremes 
Aggregations 
All 
Undefined 

Definition at line 155 of file grid.h.

◆ TSG_Grid_File_Format

Enumerator
GRID_FILE_FORMAT_Undefined 
GRID_FILE_FORMAT_Binary_old 
GRID_FILE_FORMAT_Binary 
GRID_FILE_FORMAT_ASCII 
GRID_FILE_FORMAT_Compressed 
GRID_FILE_FORMAT_GeoTIFF 

Definition at line 88 of file grid.h.

◆ TSG_Grid_File_Key

Enumerator
GRID_FILE_KEY_NAME 
GRID_FILE_KEY_DESCRIPTION 
GRID_FILE_KEY_UNITNAME 
GRID_FILE_KEY_DATAFILE_NAME 
GRID_FILE_KEY_DATAFILE_OFFSET 
GRID_FILE_KEY_DATAFORMAT 
GRID_FILE_KEY_BYTEORDER_BIG 
GRID_FILE_KEY_POSITION_XMIN 
GRID_FILE_KEY_POSITION_YMIN 
GRID_FILE_KEY_CELLCOUNT_X 
GRID_FILE_KEY_CELLCOUNT_Y 
GRID_FILE_KEY_CELLSIZE 
GRID_FILE_KEY_Z_FACTOR 
GRID_FILE_KEY_Z_OFFSET 
GRID_FILE_KEY_NODATA_VALUE 
GRID_FILE_KEY_TOPTOBOTTOM 
GRID_FILE_KEY_Count 

Definition at line 100 of file grid.h.

◆ TSG_Grid_Operation

Enumerator
GRID_OPERATION_Addition 
GRID_OPERATION_Subtraction 
GRID_OPERATION_Multiplication 
GRID_OPERATION_Division 

Definition at line 193 of file grid.h.

Function Documentation

◆ SG_Create_Grid() [1/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( const char * File,
TSG_Data_Type Type = SG_DATATYPE_Undefined,
bool bCached = false,
bool bLoadData = true )

Safe grid construction

Definition at line 86 of file grid.cpp.

References SG_Create_Grid().

◆ SG_Create_Grid() [2/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( const CSG_Grid & Grid)

Safe grid construction

Definition at line 78 of file grid.cpp.

References CSG_Grid::is_Valid().

◆ SG_Create_Grid() [3/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( const CSG_Grid_System & System,
TSG_Data_Type Type = SG_DATATYPE_Undefined,
bool bCached = false )

Safe grid construction

Definition at line 109 of file grid.cpp.

References CSG_Grid::is_Valid().

◆ SG_Create_Grid() [4/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( const CSG_String & File,
TSG_Data_Type Type = SG_DATATYPE_Undefined,
bool bCached = false,
bool bLoadData = true )

Safe grid construction

Definition at line 88 of file grid.cpp.

References CSG_Grid::Create().

◆ SG_Create_Grid() [5/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( const wchar_t * File,
TSG_Data_Type Type = SG_DATATYPE_Undefined,
bool bCached = false,
bool bLoadData = true )

Safe grid construction

Definition at line 87 of file grid.cpp.

References SG_Create_Grid().

◆ SG_Create_Grid() [6/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( CSG_Grid * pGrid,
TSG_Data_Type Type = SG_DATATYPE_Undefined,
bool bCached = false )

Safe grid construction

Definition at line 101 of file grid.cpp.

References CSG_Grid::is_Valid().

◆ SG_Create_Grid() [7/8]

SAGA_API_DLL_EXPORT CSG_Grid * SG_Create_Grid ( TSG_Data_Type Type,
int NX,
int NY,
double Cellsize = 0.,
double xMin = 0.,
double yMin = 0.,
bool bCached = false )

Safe grid construction

Definition at line 117 of file grid.cpp.

References CSG_Grid::is_Valid().

◆ SG_Create_Grid() [8/8]

◆ SG_Grid_Cache_Get_Directory()

SAGA_API_DLL_EXPORT const SG_Char * SG_Grid_Cache_Get_Directory ( void )

Get default directory for grid caching

Definition at line 81 of file grid_memory.cpp.

References gSG_Grid_Cache_Directory, and SG_Char.

◆ SG_Grid_Cache_Get_Mode()

SAGA_API_DLL_EXPORT int SG_Grid_Cache_Get_Mode ( void )

Definition at line 110 of file grid_memory.cpp.

References gSG_Grid_Cache_Mode.

◆ SG_Grid_Cache_Get_Threshold()

SAGA_API_DLL_EXPORT sLong SG_Grid_Cache_Get_Threshold ( void )

Definition at line 139 of file grid_memory.cpp.

References gSG_Grid_Cache_Threshold.

◆ SG_Grid_Cache_Get_Threshold_MB()

SAGA_API_DLL_EXPORT double SG_Grid_Cache_Get_Threshold_MB ( void )

Definition at line 145 of file grid_memory.cpp.

References gSG_Grid_Cache_Threshold, and N_MEGABYTE_BYTES.

◆ SG_Grid_Cache_Set_Directory()

SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Directory ( const SG_Char * Directory)

Set default directory for grid caching

Definition at line 87 of file grid_memory.cpp.

References gSG_Grid_Cache_Directory, SG_Char, and SG_Dir_Exists().

◆ SG_Grid_Cache_Set_Mode()

SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Mode ( int Mode)

Definition at line 104 of file grid_memory.cpp.

References gSG_Grid_Cache_Mode.

◆ SG_Grid_Cache_Set_Threshold()

SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Threshold ( int nBytes)

Definition at line 124 of file grid_memory.cpp.

References gSG_Grid_Cache_Threshold.

Referenced by SG_Grid_Cache_Set_Threshold_MB().

◆ SG_Grid_Cache_Set_Threshold_MB()

SAGA_API_DLL_EXPORT void SG_Grid_Cache_Set_Threshold_MB ( double nMegabytes)

Definition at line 133 of file grid_memory.cpp.

References N_MEGABYTE_BYTES, and SG_Grid_Cache_Set_Threshold().

◆ SG_Grid_Get_File_Extension_Default()

◆ SG_Grid_Get_File_Format_Default()

SAGA_API_DLL_EXPORT TSG_Grid_File_Format SG_Grid_Get_File_Format_Default ( void )

Definition at line 123 of file grid_io.cpp.

References gSG_Grid_File_Format_Default.

◆ SG_Grid_Set_File_Format_Default()

Variable Documentation

◆ gSG_Grid_File_Key_Names

const SG_Char gSG_Grid_File_Key_Names[GRID_FILE_KEY_Count][32]
Initial value:
=
{
SG_T("NAME"),
SG_T("DESCRIPTION"),
SG_T("UNIT"),
SG_T("DATAFILE_NAME"),
SG_T("DATAFILE_OFFSET"),
SG_T("DATAFORMAT"),
SG_T("BYTEORDER_BIG"),
SG_T("POSITION_XMIN"),
SG_T("POSITION_YMIN"),
SG_T("CELLCOUNT_X"),
SG_T("CELLCOUNT_Y"),
SG_T("CELLSIZE"),
SG_T("Z_FACTOR"),
SG_T("Z_OFFSET"),
SG_T("NODATA_VALUE"),
}
#define SG_T(s)
Definition api_core.h:537

Definition at line 123 of file grid.h.