QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgsraster.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsraster.h - Raster namespace
3  --------------------------------------
4  Date : Apr 2013
5  Copyright : (C) 2013 by Radim Blazek
6  email : radim dot blazek at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSRASTER_H
19 #define QGSRASTER_H
20 
21 #include <QString>
22 
23 #include "qgis.h"
24 
28 class CORE_EXPORT QgsRaster
29 {
30  public:
31  // This is modified copy of GDALColorInterp
33  {
34  UndefinedColorInterpretation = 0, GrayIndex = 1, PaletteIndex = 2, // indexed color table RedBand = 3, GreenBand = 4, BlueBand = 5, AlphaBand = 6, HueBand = 7, SaturationBand = 8, LightnessBand = 9, CyanBand = 10, MagentaBand = 11, YellowBand = 12, BlackBand = 13, YCbCr_YBand = 14, YCbCr_CbBand = 15, YCbCr_CrBand = 16, ContinuousPalette = 17
52  };
53 
55  {
56  IdentifyFormatUndefined = 0,
57  IdentifyFormatValue = 1, // numerical pixel value
58  IdentifyFormatText = 1 << 1, // WMS text
59  IdentifyFormatHtml = 1 << 2, // WMS HTML
60  IdentifyFormatFeature = 1 << 3, // WMS GML/JSON -> feature
61  };
62 
63  // Progress types
65  {
66  ProgressHistogram = 0,
67  ProgressPyramids = 1,
68  ProgressStatistics = 2
69  };
70 
72  {
73  PyramidsFlagNo = 0,
74  PyramidsFlagYes = 1,
75  PyramidsCopyExisting = 2
76  };
77 
79  {
80  PyramidsGTiff = 0,
81  PyramidsInternal = 1,
82  PyramidsErdas = 2
83  };
84 
87  {
91  ContrastEnhancementCumulativeCut
92  };
93 
96  {
98  SingleBandGray, // a single band image drawn as a range of gray colors
99  SingleBandPseudoColor, // a single band image drawn using a pseudocolor algorithm
100  PalettedColor, // a "Palette" image drawn using color table
101  PalettedSingleBandGray, // a "Palette" layer drawn in gray scale
102  PalettedSingleBandPseudoColor, // a "Palette" layerdrawn using a pseudocolor algorithm
103  PalettedMultiBandColor, // currently not supported
104  MultiBandSingleBandGray, // a layer containing 2 or more bands, but a single band drawn as a range of gray colors
105  MultiBandSingleBandPseudoColor, // a layer containing 2 or more bands, but a single band drawn using a pseudocolor algorithm
106  MultiBandColor, // a layer containing 2 or more bands, mapped to RGB color space. In the case of a multiband with only two bands, one band will be mapped to more than one color.
107  SingleBandColorDataStyle // ARGB values rendered directly
108  };
109 
110  static QString contrastEnhancementLimitsAsString( QgsRaster::ContrastEnhancementLimits theLimits );
111  static ContrastEnhancementLimits contrastEnhancementLimitsFromString( QString theLimits );
112 
118  static double representableValue( double value, QGis::DataType dataType );
119 };
120 
121 #endif
122 
123