rasdaman client API 10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
Classes | Typedefs | Enumerations | Functions | Variables
mddtypes.hh File Reference
#include <iosfwd>
#include <cstdint>

Go to the source code of this file.

Classes

struct  r_Tile_Structure
 Physical raw tile properties in one place. More...
 

Typedefs

using r_Bytes = size_t
 number of bytes in an tile or mdd or type.
 
using r_Ptr = std::ptrdiff_t
 for conversion from pointers to integer variables on 64bit arch.
 
using r_Area = std::uint64_t
 number of cells in an mdd object or tile.
 
using r_Range = std::int64_t
 for axis indexing, e.g.
 
using r_Dimension = std::uint32_t
 number of dimensions in r_Point and r_Minterval.
 

Enumerations

enum  r_Data_Format {
  r_Array , r_TIFF , r_JPEG , r_JP2 ,
  r_HDF , r_NETCDF , r_CSV , r_JSON ,
  r_PNG , r_ZLib , r_Auto_Compression , r_BMP ,
  r_RLE , r_Wavelet_Haar , r_Wavelet_Daubechies , r_Sep_ZLib ,
  r_Sep_RLE , r_Wavelet_Daub6 , r_Wavelet_Daub8 , r_Wavelet_Daub10 ,
  r_Wavelet_Daub12 , r_Wavelet_Daub14 , r_Wavelet_Daub16 , r_Wavelet_Daub18 ,
  r_Wavelet_Daub20 , r_Wavelet_Least8 , r_Wavelet_Least10 , r_Wavelet_Least12 ,
  r_Wavelet_Least14 , r_Wavelet_Least16 , r_Wavelet_Least18 , r_Wavelet_Least20 ,
  r_Wavelet_Coiflet6 , r_Wavelet_Coiflet12 , r_Wavelet_Coiflet18 , r_Wavelet_Coiflet24 ,
  r_Wavelet_Coiflet30 , r_Wavelet_QHaar , r_PPM , r_DEM ,
  r_Pack_Bits , r_ECW , r_TMC , r_NITF ,
  r_GRIB , r_GDAL , r_GDAL_OGR , r_Data_Format_NUMBER
}
  More...
 
enum  r_Scale_Function { r_SubSampling , r_BitAggregation , r_Scale_Function_NUMBER }
 
enum  r_Index_Type {
  r_Invalid_Index = -1 , r_Auto_Index = 0 , r_Directory_Index = 1 , r_Reg_Directory_Index = 2 ,
  r_RPlus_Tree_Index = 3 , r_Reg_RPlus_Tree_Index = 4 , r_Tile_Container_Index = 5 , r_Reg_Computed_Index = 6 ,
  r_Index_Type_NUMBER = 7
}
 
enum  r_Tiling_Scheme {
  r_NoTiling = 0 , r_RegularTiling = 1 , r_StatisticalTiling = 2 , r_InterestTiling = 3 ,
  r_AlignedTiling = 4 , r_DirectionalTiling = 5 , r_SizeTiling = 6 , r_Tiling_Scheme_NUMBER = 7
}
 Tiling of the object: More...
 
enum  r_Clustering_Scheme { r_Insertion_Order_Clustering = 1 , r_Coords_Order_Clustering = 2 , r_Index_Cluster_Clustering = 3 , r_Based_Cluster_Stat_Clustering = 4 }
 Clustering of the tiles according to: More...
 
enum class  r_Band_Linearization : std::int8_t { PixelInterleaved = 0 , ChannelInterleaved = 1 }
 Indicate how multiband data is linearized in 1D space. More...
 
enum class  r_Cell_Linearization : std::int8_t { ColumnMajor = 0 , RowMajor = 1 }
 Linearization of cells from nD to 1D space. More...
 

Functions

const char * get_name_from_data_format (r_Data_Format fmt)
 Get a data format name for a data format.
 
r_Data_Format get_data_format_from_name (const char *name)
 Get a data format for a data format name.
 
std::ostream & operator<< (std::ostream &s, const r_Data_Format &d)
 Output stream operator for objects of type const r_Data_Format.
 
const char * get_name_from_scale_function (r_Scale_Function func)
 Get a scale function name for a scale function.
 
r_Scale_Function get_scale_function_from_name (const char *name)
 Get a scale function from a scale function name.
 
std::ostream & operator<< (std::ostream &s, const r_Scale_Function &d)
 Output stream operator for objects of type const r_Scale_Function.
 
std::ostream & operator<< (std::ostream &in, r_Index_Type type)
 
const char * get_name_from_index_type (r_Index_Type it)
 Get a index type name for a index type.
 
r_Index_Type get_index_type_from_name (const char *name)
 Get a index type for a index type name.
 
const char * get_name_from_tiling_scheme (r_Tiling_Scheme ts)
 Get a tiling scheme name for a tiling scheme.
 
r_Tiling_Scheme get_tiling_scheme_from_name (const char *name)
 Get a tiling scheme for a tiling scheme name.
 
std::ostream & operator<< (std::ostream &in, r_Tiling_Scheme type)
 Output stream operator for objects of type const r_Tiling_Scheme.
 
std::ostream & operator<< (std::ostream &in, r_Clustering_Scheme type)
 
std::ostream & operator<< (std::ostream &in, r_Band_Linearization type)
 
std::ostream & operator<< (std::ostream &in, r_Cell_Linearization type)
 

Variables

const char * format_name_array
 The names of all data types, to avoid redundant storage and inconsistencies.
 
const char * format_name_tiff
 
const char * format_name_jpeg
 
const char * format_name_jp2
 
const char * format_name_hdf
 
const char * format_name_netcdf
 
const char * format_name_csv
 
const char * format_name_json
 
const char * format_name_png
 
const char * format_name_zlib
 
const char * format_name_auto_compression
 
const char * format_name_bmp
 
const char * format_name_ppm
 
const char * format_name_rle
 
const char * format_name_wavelet_haar
 
const char * format_name_wavelet_daubechies
 
const char * format_name_sep_zlib
 
const char * format_name_sep_rle
 
const char * format_name_wavelet_daub6
 
const char * format_name_wavelet_daub8
 
const char * format_name_wavelet_daub10
 
const char * format_name_wavelet_daub12
 
const char * format_name_wavelet_daub14
 
const char * format_name_wavelet_daub16
 
const char * format_name_wavelet_daub18
 
const char * format_name_wavelet_daub20
 
const char * format_name_wavelet_least8
 
const char * format_name_wavelet_least10
 
const char * format_name_wavelet_least12
 
const char * format_name_wavelet_least14
 
const char * format_name_wavelet_least16
 
const char * format_name_wavelet_least18
 
const char * format_name_wavelet_least20
 
const char * format_name_wavelet_coiflet6
 
const char * format_name_wavelet_coiflet12
 
const char * format_name_wavelet_coiflet18
 
const char * format_name_wavelet_coiflet24
 
const char * format_name_wavelet_coiflet30
 
const char * format_name_dem
 
const char * format_name_pack_bits
 
const char * format_name_wavelet_qhaar
 
const char * format_name_tmc
 
const char * format_name_nitf
 
const char * format_name_grib
 
const char * format_name_gdal
 
const char * all_data_format_names [r_Data_Format_NUMBER]
 
const char * scale_function_name_subsampling
 
const char * scale_function_name_bitaggregation
 
const char * all_scale_function_names [r_Scale_Function_NUMBER]
 
const char * index_name_auto
 The names of all index type, to avoid redundant storage and inconsistencies.
 
const char * index_name_directory
 
const char * index_name_regdirectory
 
const char * index_name_rplustree
 
const char * index_name_regrplustree
 
const char * index_name_tilecontainer
 
const char * index_name_regcomputed
 
const char * all_index_type_names [r_Index_Type_NUMBER]
 
const char * tiling_name_notiling
 The names of all tiling schems, to avoid redundant storage and inconsistencies.
 
const char * tiling_name_regulartiling
 
const char * tiling_name_statisticaltiling
 
const char * tiling_name_interesttiling
 
const char * tiling_name_alignedtiling
 
const char * tiling_name_directionaltiling
 
const char * tiling_name_sizetiling
 
const char * all_tiling_scheme_names [r_Tiling_Scheme_NUMBER]
 

Typedef Documentation

◆ r_Area

using r_Area = std::uint64_t

number of cells in an mdd object or tile.

◆ r_Bytes

using r_Bytes = size_t

number of bytes in an tile or mdd or type.

◆ r_Dimension

using r_Dimension = std::uint32_t

number of dimensions in r_Point and r_Minterval.

◆ r_Ptr

using r_Ptr = std::ptrdiff_t

for conversion from pointers to integer variables on 64bit arch.

◆ r_Range

using r_Range = std::int64_t

for axis indexing, e.g.

lower/upper bounds of r_Sinterval, projection value and coordinate values of r_Point.

Enumeration Type Documentation

◆ r_Band_Linearization

enum class r_Band_Linearization : std::int8_t
strong

Indicate how multiband data is linearized in 1D space.

Enumerator
PixelInterleaved 

The components of each pixel are layed out one after another, e.g.

for 3 RGB pixels we have layout: R G B R G B R G B

ChannelInterleaved 

First the first band of each pixel is layed out continuously, then the second component, and so on.

E.g. for 3 RGB pixels: R R R G G G B B B

◆ r_Cell_Linearization

enum class r_Cell_Linearization : std::int8_t
strong

Linearization of cells from nD to 1D space.

Default is column-major. See https://doc.rasdaman.org/03_contributing.html#internal-array-representation

Enumerator
ColumnMajor 

Linearize cells of first column, then second column, and so on.

In nD column = last dimension, then second last, etc.

RowMajor 

Linearize cells of first row, then second row, and so on.

In nD row = first dimension, then second, etc.

◆ r_Clustering_Scheme

Clustering of the tiles according to:

There is the additional PathCluster mode, where clustering is done according to a path of access to areas of interest. The PathCluster mode is indicated by setting the pathCluster attribute and a non - null value of the areasInterest. This mode is not an alternative mode in ClusteringScheme because it is compatible with the other modes.

Enumerator
r_Insertion_Order_Clustering 
r_Coords_Order_Clustering 
r_Index_Cluster_Clustering 
r_Based_Cluster_Stat_Clustering 

◆ r_Data_Format

Enumerator
r_Array 
r_TIFF 
r_JPEG 
r_JP2 
r_HDF 
r_NETCDF 
r_CSV 
r_JSON 
r_PNG 
r_ZLib 
r_Auto_Compression 
r_BMP 
r_RLE 
r_Wavelet_Haar 
r_Wavelet_Daubechies 
r_Sep_ZLib 
r_Sep_RLE 
r_Wavelet_Daub6 
r_Wavelet_Daub8 
r_Wavelet_Daub10 
r_Wavelet_Daub12 
r_Wavelet_Daub14 
r_Wavelet_Daub16 
r_Wavelet_Daub18 
r_Wavelet_Daub20 
r_Wavelet_Least8 
r_Wavelet_Least10 
r_Wavelet_Least12 
r_Wavelet_Least14 
r_Wavelet_Least16 
r_Wavelet_Least18 
r_Wavelet_Least20 
r_Wavelet_Coiflet6 
r_Wavelet_Coiflet12 
r_Wavelet_Coiflet18 
r_Wavelet_Coiflet24 
r_Wavelet_Coiflet30 
r_Wavelet_QHaar 
r_PPM 
r_DEM 
r_Pack_Bits 
r_ECW 
r_TMC 
r_NITF 
r_GRIB 
r_GDAL 
r_GDAL_OGR 
r_Data_Format_NUMBER 

◆ r_Index_Type

Enumerator
r_Invalid_Index 
r_Auto_Index 
r_Directory_Index 
r_Reg_Directory_Index 
r_RPlus_Tree_Index 
r_Reg_RPlus_Tree_Index 
r_Tile_Container_Index 
r_Reg_Computed_Index 
r_Index_Type_NUMBER 

◆ r_Scale_Function

Enumerator
r_SubSampling 
r_BitAggregation 
r_Scale_Function_NUMBER 

◆ r_Tiling_Scheme

Tiling of the object:

Enumerator
r_NoTiling 
r_RegularTiling 
r_StatisticalTiling 
r_InterestTiling 
r_AlignedTiling 
r_DirectionalTiling 
r_SizeTiling 
r_Tiling_Scheme_NUMBER 

Function Documentation

◆ get_data_format_from_name()

r_Data_Format get_data_format_from_name ( const char *  name)

Get a data format for a data format name.

◆ get_index_type_from_name()

r_Index_Type get_index_type_from_name ( const char *  name)

Get a index type for a index type name.

◆ get_name_from_data_format()

const char * get_name_from_data_format ( r_Data_Format  fmt)

Get a data format name for a data format.

◆ get_name_from_index_type()

const char * get_name_from_index_type ( r_Index_Type  it)

Get a index type name for a index type.

◆ get_name_from_scale_function()

const char * get_name_from_scale_function ( r_Scale_Function  func)

Get a scale function name for a scale function.

◆ get_name_from_tiling_scheme()

const char * get_name_from_tiling_scheme ( r_Tiling_Scheme  ts)

Get a tiling scheme name for a tiling scheme.

◆ get_scale_function_from_name()

r_Scale_Function get_scale_function_from_name ( const char *  name)

Get a scale function from a scale function name.

◆ get_tiling_scheme_from_name()

r_Tiling_Scheme get_tiling_scheme_from_name ( const char *  name)

Get a tiling scheme for a tiling scheme name.

◆ operator<<() [1/7]

std::ostream & operator<< ( std::ostream &  in,
r_Band_Linearization  type 
)
extern

◆ operator<<() [2/7]

std::ostream & operator<< ( std::ostream &  in,
r_Cell_Linearization  type 
)
extern

◆ operator<<() [3/7]

std::ostream & operator<< ( std::ostream &  in,
r_Clustering_Scheme  type 
)
extern

◆ operator<<() [4/7]

std::ostream & operator<< ( std::ostream &  in,
r_Index_Type  type 
)
extern

◆ operator<<() [5/7]

std::ostream & operator<< ( std::ostream &  in,
r_Tiling_Scheme  type 
)
extern

Output stream operator for objects of type const r_Tiling_Scheme.

◆ operator<<() [6/7]

std::ostream & operator<< ( std::ostream &  s,
const r_Data_Format d 
)
extern

Output stream operator for objects of type const r_Data_Format.

◆ operator<<() [7/7]

std::ostream & operator<< ( std::ostream &  s,
const r_Scale_Function d 
)
extern

Output stream operator for objects of type const r_Scale_Function.

Variable Documentation

◆ all_data_format_names

const char* all_data_format_names[r_Data_Format_NUMBER]
extern

◆ all_index_type_names

const char* all_index_type_names[r_Index_Type_NUMBER]
extern

◆ all_scale_function_names

const char* all_scale_function_names[r_Scale_Function_NUMBER]
extern

◆ all_tiling_scheme_names

const char* all_tiling_scheme_names[r_Tiling_Scheme_NUMBER]
extern

◆ format_name_array

const char* format_name_array
extern

The names of all data types, to avoid redundant storage and inconsistencies.

The variable name convention is the prefix format_name_ followed by the name of the data format in lower case without the r_ prefix, i.e. for r_Wavelet_Haar format_name_wavelet_haar. In addition there's an array of names all_data_format_names where the data format can be used as index to get the name.

◆ format_name_auto_compression

const char* format_name_auto_compression
extern

◆ format_name_bmp

const char* format_name_bmp
extern

◆ format_name_csv

const char* format_name_csv
extern

◆ format_name_dem

const char* format_name_dem
extern

◆ format_name_gdal

const char* format_name_gdal
extern

◆ format_name_grib

const char* format_name_grib
extern

◆ format_name_hdf

const char* format_name_hdf
extern

◆ format_name_jp2

const char* format_name_jp2
extern

◆ format_name_jpeg

const char* format_name_jpeg
extern

◆ format_name_json

const char* format_name_json
extern

◆ format_name_netcdf

const char* format_name_netcdf
extern

◆ format_name_nitf

const char* format_name_nitf
extern

◆ format_name_pack_bits

const char* format_name_pack_bits
extern

◆ format_name_png

const char* format_name_png
extern

◆ format_name_ppm

const char* format_name_ppm
extern

◆ format_name_rle

const char* format_name_rle
extern

◆ format_name_sep_rle

const char* format_name_sep_rle
extern

◆ format_name_sep_zlib

const char* format_name_sep_zlib
extern

◆ format_name_tiff

const char* format_name_tiff
extern

◆ format_name_tmc

const char* format_name_tmc
extern

◆ format_name_wavelet_coiflet12

const char* format_name_wavelet_coiflet12
extern

◆ format_name_wavelet_coiflet18

const char* format_name_wavelet_coiflet18
extern

◆ format_name_wavelet_coiflet24

const char* format_name_wavelet_coiflet24
extern

◆ format_name_wavelet_coiflet30

const char* format_name_wavelet_coiflet30
extern

◆ format_name_wavelet_coiflet6

const char* format_name_wavelet_coiflet6
extern

◆ format_name_wavelet_daub10

const char* format_name_wavelet_daub10
extern

◆ format_name_wavelet_daub12

const char* format_name_wavelet_daub12
extern

◆ format_name_wavelet_daub14

const char* format_name_wavelet_daub14
extern

◆ format_name_wavelet_daub16

const char* format_name_wavelet_daub16
extern

◆ format_name_wavelet_daub18

const char* format_name_wavelet_daub18
extern

◆ format_name_wavelet_daub20

const char* format_name_wavelet_daub20
extern

◆ format_name_wavelet_daub6

const char* format_name_wavelet_daub6
extern

◆ format_name_wavelet_daub8

const char* format_name_wavelet_daub8
extern

◆ format_name_wavelet_daubechies

const char* format_name_wavelet_daubechies
extern

◆ format_name_wavelet_haar

const char* format_name_wavelet_haar
extern

◆ format_name_wavelet_least10

const char* format_name_wavelet_least10
extern

◆ format_name_wavelet_least12

const char* format_name_wavelet_least12
extern

◆ format_name_wavelet_least14

const char* format_name_wavelet_least14
extern

◆ format_name_wavelet_least16

const char* format_name_wavelet_least16
extern

◆ format_name_wavelet_least18

const char* format_name_wavelet_least18
extern

◆ format_name_wavelet_least20

const char* format_name_wavelet_least20
extern

◆ format_name_wavelet_least8

const char* format_name_wavelet_least8
extern

◆ format_name_wavelet_qhaar

const char* format_name_wavelet_qhaar
extern

◆ format_name_zlib

const char* format_name_zlib
extern

◆ index_name_auto

const char* index_name_auto
extern

The names of all index type, to avoid redundant storage and inconsistencies.

The variable name convention is the prefix index_name_ followed by the name of the index type in lower case without the r_ prefix, i.e. for r_Auto_Index index_name_auto. In addition there's an array of names all_index_type_names where the index type can be used as index to get the name.

◆ index_name_directory

const char* index_name_directory
extern

◆ index_name_regcomputed

const char* index_name_regcomputed
extern

◆ index_name_regdirectory

const char* index_name_regdirectory
extern

◆ index_name_regrplustree

const char* index_name_regrplustree
extern

◆ index_name_rplustree

const char* index_name_rplustree
extern

◆ index_name_tilecontainer

const char* index_name_tilecontainer
extern

◆ scale_function_name_bitaggregation

const char* scale_function_name_bitaggregation
extern

◆ scale_function_name_subsampling

const char* scale_function_name_subsampling
extern

◆ tiling_name_alignedtiling

const char* tiling_name_alignedtiling
extern

◆ tiling_name_directionaltiling

const char* tiling_name_directionaltiling
extern

◆ tiling_name_interesttiling

const char* tiling_name_interesttiling
extern

◆ tiling_name_notiling

const char* tiling_name_notiling
extern

The names of all tiling schems, to avoid redundant storage and inconsistencies.

The variable name convention is the prefix tiling_name_ followed by the name of the tiling scheme in lower case without the r_ prefix, i.e. for r_SizeTiling tiling_name_sizetiling. In addition there's an array of names all_tiling_scheme_names where the tile scheme can be used as index to get the name.

◆ tiling_name_regulartiling

const char* tiling_name_regulartiling
extern

◆ tiling_name_sizetiling

const char* tiling_name_sizetiling
extern

◆ tiling_name_statisticaltiling

const char* tiling_name_statisticaltiling
extern