QGIS API Documentation
3.43.0-Master (2a27c31701b)
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Symbols
3
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
u
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
y
Loading...
Searching...
No Matches
src
analysis
raster
qgstotalcurvaturefilter.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgstotalcurvaturefilter.h - description
3
-------------------
4
begin : August 21th, 2009
5
copyright : (C) 2009 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
#include "
qgstotalcurvaturefilter.h
"
19
20
QgsTotalCurvatureFilter::QgsTotalCurvatureFilter
(
const
QString &inputFile,
const
QString &outputFile,
const
QString &outputFormat )
21
:
QgsNineCellFilter
( inputFile, outputFile, outputFormat )
22
{
23
}
20
QgsTotalCurvatureFilter::QgsTotalCurvatureFilter
(
const
QString &inputFile,
const
QString &outputFile,
const
QString &outputFormat ) {
…
}
24
25
float
QgsTotalCurvatureFilter::processNineCellWindow
(
float
*x11,
float
*x21,
float
*x31,
float
*x12,
float
*x22,
float
*x32,
float
*x13,
float
*x23,
float
*x33 )
26
{
27
//return nodata if one value is the nodata value
28
if
( *x11 ==
mInputNodataValue
|| *x21 ==
mInputNodataValue
|| *x31 ==
mInputNodataValue
|| *x12 ==
mInputNodataValue
29
|| *x22 ==
mInputNodataValue
|| *x32 ==
mInputNodataValue
|| *x13 ==
mInputNodataValue
|| *x23 ==
mInputNodataValue
30
|| *x33 ==
mInputNodataValue
)
31
{
32
return
mOutputNodataValue
;
33
}
34
35
const
double
cellSizeAvg = (
mCellSizeX
+
mCellSizeY
) / 2.0;
36
const
double
dxx = ( *x32 - 2 * *x22 + *x12 ) / (
mCellSizeX
*
mCellSizeX
);
37
const
double
dxy = ( -*x11 + *x31 + *x13 - *x33 ) / ( 4 * cellSizeAvg * cellSizeAvg );
38
const
double
dyy = ( *x21 - 2 * *x22 + *x23 ) / (
mCellSizeY
*
mCellSizeY
);
39
40
return
dxx * dxx + 2 * dxy * dxy + dyy * dyy;
41
}
25
float
QgsTotalCurvatureFilter::processNineCellWindow
(
float
*x11,
float
*x21,
float
*x31,
float
*x12,
float
*x22,
float
*x32,
float
*x13,
float
*x23,
float
*x33 ) {
…
}
QgsNineCellFilter
Base class for raster analysis methods that work with a 3x3 cell filter and calculate the value of ea...
Definition
qgsninecellfilter.h:38
QgsNineCellFilter::mInputNodataValue
float mInputNodataValue
The nodata value of the input layer.
Definition
qgsninecellfilter.h:145
QgsNineCellFilter::mOutputNodataValue
float mOutputNodataValue
The nodata value of the output layer.
Definition
qgsninecellfilter.h:147
QgsNineCellFilter::mCellSizeY
double mCellSizeY
Definition
qgsninecellfilter.h:143
QgsNineCellFilter::mCellSizeX
double mCellSizeX
Definition
qgsninecellfilter.h:142
QgsTotalCurvatureFilter::QgsTotalCurvatureFilter
QgsTotalCurvatureFilter(const QString &inputFile, const QString &outputFile, const QString &outputFormat)
Definition
qgstotalcurvaturefilter.cpp:20
QgsTotalCurvatureFilter::processNineCellWindow
float processNineCellWindow(float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) override
Calculates output value from nine input values.
Definition
qgstotalcurvaturefilter.cpp:25
qgstotalcurvaturefilter.h
Generated on Tue Mar 18 2025 12:31:40 for QGIS API Documentation by
1.9.8