Technische Universität Wien
Orientation and Processing of Airborne Laser Scanning data
Department of Geodesy and Geoinformation - Research Groups Photogrammetry and Remote Sensing
distro
c++_api
inc
opals
AttributeDescription.hpp
1
#pragma once
2
3
#include "opals/config.hpp"
4
#include "opals/String.hpp"
5
6
namespace
opals
7
{
8
/// \brief AttributeDescription provides generic information about a single attribute (used by DataSetStats).
9
///
10
/// Beside the name, type, storage size (in bytes) and a nodata indicator of the attribute the
11
/// class provides basic statistic information such as min, max, mean and the standard deviation.
12
/// If a specific information is really set, can be retrieved by the corresponding isSet function.
13
/// Depending on the data type a specific no data value is used to indicate unset values.
14
///
15
/// \author JO
16
/// \date 24.05.2012
17
class
OPALS_API
AttributeDescription
18
{
19
public
:
20
AttributeDescription
();
21
virtual
~
AttributeDescription
();
22
23
bool
isSetName()
const
;
24
bool
isSetType()
const
;
25
bool
isSetStorageSize()
const
;
26
bool
isSetCount()
const
;
27
bool
isSetMin()
const
;
28
bool
isSetMax()
const
;
29
bool
isSetMean()
const
;
30
bool
isSetStd()
const
;
31
bool
isSetNoDataIndicator()
const
;
32
33
String
getName()
const
;
///< get attribute name
34
String
getType()
const
;
///< get attribute type
35
unsigned
getStorageSize()
const
;
///< storage size of attribute in bytes
36
long
long
getCount()
const
;
///< number of elements
37
double
getMin()
const
;
///< minimum attribute value
38
double
getMax()
const
;
///< maximum attribute value
39
double
getMean()
const
;
///< mean attribute value
40
double
getStd()
const
;
///< standard deviation
41
double
getNoDataIndicator()
const
;
///< no value indicator
42
43
void
reset();
44
void
setAttributeDescription(
const
String
& Name,
const
String
& Type,
const
unsigned
& StorageSize,
const
long
long
& Count,
45
const
double
& Min,
const
double
& Max,
const
double
& Mean,
const
double
& Std,
const
double
& NoData);
46
void
setName(
const
String
& Name);
47
void
setType(
const
String
& Type);
48
void
setStorageSize(
const
unsigned
& StorageSize);
49
void
setCount(
const
long
long
& Count);
50
void
setMin(
const
double
& Min);
51
void
setMax(
const
double
& Max);
52
void
setMean(
const
double
& Mean);
53
void
setStd(
const
double
& Std);
54
void
setNoDataIndicator(
const
double
& NoData);
55
56
// output functions
57
String
logAttributeDescription()
const
;
///< for xml output
58
String
printAttributeDescription()
const
;
///< for log output (in more readable format)
59
static
String
printAttributeHeader();
///< for log the header line
60
61
private
:
62
String
name;
63
String
type;
64
unsigned
storageSize;
65
long
long
count;
66
double
min;
67
double
max;
68
double
mean
;
69
double
std;
70
double
nodataIndicator;
71
};
72
}
opals::AttributeDescription
AttributeDescription provides generic information about a single attribute (used by DataSetStats).
Definition:
AttributeDescription.hpp:17
opals::GeomModel::mean
@ mean
Mean.
opals
Contains the public interface of OPALS.
Definition:
AbsValueOrQuantile.hpp:8
opals::String
A dynamic character string whose interface conforms to STL's std::string.
Definition:
String.hpp:35