13#ifndef GDAL_PAM_MULTIDIM_H_INCLUDED
14#define GDAL_PAM_MULTIDIM_H_INCLUDED
18#include "gdal_multidim.h"
32class CPL_DLL GDALPamMultiDim final
35 std::unique_ptr<Private> d;
41 explicit GDALPamMultiDim(
const std::string &osFilename);
44 std::shared_ptr<OGRSpatialReference>
45 GetSpatialRef(
const std::string &osArrayFullName,
46 const std::string &osContext);
48 void SetSpatialRef(
const std::string &osArrayFullName,
49 const std::string &osContext,
50 const OGRSpatialReference *poSRS);
52 CPLErr GetStatistics(
const std::string &osArrayFullName,
53 const std::string &osContext,
bool bApproxOK,
54 double *pdfMin,
double *pdfMax,
double *pdfMean,
55 double *pdfStdDev,
GUInt64 *pnValidCount);
57 void SetStatistics(
const std::string &osArrayFullName,
58 const std::string &osContext,
bool bApproxStats,
59 double dfMin,
double dfMax,
double dfMean,
60 double dfStdDev,
GUInt64 nValidCount);
62 void ClearStatistics();
64 void ClearStatistics(
const std::string &osArrayFullName,
65 const std::string &osContext);
67 static std::shared_ptr<GDALPamMultiDim>
68 GetPAM(
const std::shared_ptr<GDALMDArray> &poParent);
78 std::shared_ptr<GDALPamMultiDim> m_poPam;
81 GDALPamMDArray(
const std::string &osParentName,
const std::string &osName,
82 const std::shared_ptr<GDALPamMultiDim> &poPam,
83 const std::string &osContext = std::string());
85 bool SetStatistics(
bool bApproxStats,
double dfMin,
double dfMax,
86 double dfMean,
double dfStdDev,
GUInt64 nValidCount,
90 const std::shared_ptr<GDALPamMultiDim> &GetPAM()
const
95 CPLErr GetStatistics(
bool bApproxOK,
bool bForce,
double *pdfMin,
96 double *pdfMax,
double *pdfMean,
double *padfStdDev,
97 GUInt64 *pnValidCount, GDALProgressFunc pfnProgress,
98 void *pProgressData)
override;
100 void ClearStatistics()
override;
102 bool SetSpatialRef(
const OGRSpatialReference *poSRS)
override;
104 std::shared_ptr<OGRSpatialReference> GetSpatialRef()
const override;
Class modeling a multi-dimensional array.
Definition gdal_multidim.h:852
CPLErr
Error category.
Definition cpl_error.h:37
Core portability definitions for CPL.
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1087
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:228