QGIS API Documentation  3.6.0-Noosa (5873452)
qgsrasterhistogram.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrasterhistogram.h
3  -------------------
4  begin : July 2012
5  copyright : (C) 2012 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 QGSRASTERHISTOGRAM
19 #define QGSRASTERHISTOGRAM
20 
21 #include "qgis_core.h"
22 #include "qgsrectangle.h"
23 #include <QString>
24 #include <QVector>
25 
26 #include <limits>
27 
33 class CORE_EXPORT QgsRasterHistogram
34 {
35  public:
36  typedef QVector<int> HistogramVector;
37 
41  QgsRasterHistogram() = default;
42 
44  bool operator==( const QgsRasterHistogram &h ) const
45  {
46  return ( h.bandNumber == bandNumber &&
47  h.binCount == binCount &&
48  h.includeOutOfRange == includeOutOfRange &&
49  qgsDoubleNear( h.maximum, maximum ) &&
50  qgsDoubleNear( h.minimum, minimum ) &&
51  h.extent == extent &&
52  h.width == width &&
53  h.height == height );
54  }
55 
57  int bandNumber = 0;
58 
60  int binCount = 0;
61 
63  int nonNullCount = 0;
64 
66  bool includeOutOfRange = false;
67 
72 
74  double maximum = 0;
75 
77  double minimum = 0;
78 
80  int width = 0;
81 
83  int height = 0;
84 
87 
89  bool valid = false;
90 };
91 #endif
A rectangle specified with double values.
Definition: qgsrectangle.h:41
int bandNumber
The gdal band number (starts at 1)
int width
Number of columns used to calc histogram.
QVector< int > HistogramVector
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition: qgis.h:265
double minimum
The minimum histogram value.
int height
Number of rows used to calc histogram.
QgsRasterHistogram::HistogramVector histogramVector
Stores the histogram for a given layer.
double maximum
The maximum histogram value.
bool operator==(const QgsRasterHistogram &h) const
Compares region, size etc. not histogram itself.
The QgsRasterHistogram is a container for histogram of a single raster band.
int binCount
Number of bins (intervals,buckets) in histogram.
QgsRectangle extent
Extent used to calc histogram.
bool includeOutOfRange
Whether histogram includes out of range values (in first and last bin)