QGIS API Documentation 3.43.0-Master (c4a2e9c6d2f)
qgsgridfilewriter.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsgridfilewriter.h
3 --------------------
4 begin : March 10, 2008
5 copyright : (C) 2008 by Marco Hugentobler
6 email : marco dot hugentobler at karto dot baug dot ethz dot ch
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 QGSGRIDFILEWRITER_H
19#define QGSGRIDFILEWRITER_H
20
21#include "qgsrectangle.h"
22#include <QString>
23#include <QTextStream>
24#include "qgis_analysis.h"
25
26class QgsInterpolator;
27class QgsFeedback;
28
29//todo: extend such that writing to other file types is possible
30
35class ANALYSIS_EXPORT QgsGridFileWriter
36{
37 public:
45 QgsGridFileWriter( QgsInterpolator *interpolator, const QString &outputPath, const QgsRectangle &extent, int nCols, int nRows );
46
54 int writeFile( QgsFeedback *feedback = nullptr );
55
62 void setCreationOptions( const QStringList &options ) { mCreationOptions = options; }
63
70 QStringList creationOptions() const { return mCreationOptions; }
71
78 void setNoDataValue( double noDataValue ) { mNoDataValue = noDataValue; }
79
86 double noDataValue() const { return mNoDataValue; }
87
88 private:
89 QgsGridFileWriter() = delete;
90
91 QgsInterpolator *mInterpolator = nullptr;
92 QString mOutputFilePath;
93 QgsRectangle mInterpolationExtent;
94 int mNumColumns = 0;
95 int mNumRows = 0;
96
97 double mCellSizeX = 0;
98 double mCellSizeY = 0;
99
100 QStringList mCreationOptions;
101 double mNoDataValue = -9999.0;
102};
103
104#endif
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
Handles interpolation to a grid and writes the results to a raster grid file.
void setCreationOptions(const QStringList &options)
Sets a list of data source creation options to use when creating the output raster file.
void setNoDataValue(double noDataValue)
Set no data value for output file.
double noDataValue() const
Returns no data value used for output file.
QStringList creationOptions() const
Returns the list of data source creation options which will be used when creating the output raster f...
Interface class for interpolations.
A rectangle specified with double values.