You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/nmNum/nmData/nmPropertyInterpolationData.h

66 lines
1.8 KiB
C

#ifndef NMPROPERTYINTERPOLATIONDATA_H
#define NMPROPERTYINTERPOLATIONDATA_H
#include "nmData_global.h"
#include <QString>
#include <QVector>
/** @brief 一条按数据层基准单位保存的属性插值测点。 */
struct NM_DATA_EXPORT nmPropertyInterpolationPointData
{
nmPropertyInterpolationPointData()
: x(0.0), y(0.0), value(0.0)
{
}
nmPropertyInterpolationPointData(double xValue,
double yValue,
double propertyValue)
: x(xValue), y(yValue), value(propertyValue)
{
}
double x; ///< X 坐标,使用数据层长度基准单位。
double y; ///< Y 坐标,使用数据层长度基准单位。
double value; ///< 属性值,使用对应属性的数据层基准单位。
};
/** @brief 一组属性插值测点、Kriging 参数和界面显示偏好。 */
struct NM_DATA_EXPORT nmPropertyInterpolationDataSet
{
nmPropertyInterpolationDataSet()
: property("k"),
xDisplayUnit("m"),
yDisplayUnit("m"),
valueDisplayUnit("mD"),
rangeDisplayUnit("m"),
useForCalculation(false),
showPoints(true),
showLabels(true),
nugget(0.01),
sill(100.0),
range(1000.0),
model(0)
{
}
QString name;
QString property;
// 以下显示单位只保存界面偏好;坐标、Range 和属性值始终保存基准值。
QString xDisplayUnit;
QString yDisplayUnit;
QString valueDisplayUnit;
QString rangeDisplayUnit;
bool useForCalculation;
QVector<nmPropertyInterpolationPointData> points;
bool showPoints;
bool showLabels;
double nugget;
double sill;
double range;
int model;
};
#endif // NMPROPERTYINTERPOLATIONDATA_H