13#ifndef GDALALG_RASTER_COMPARE_INCLUDED
14#define GDALALG_RASTER_COMPARE_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterCompareAlgorithm
25 :
public GDALRasterPipelineStepAlgorithm
28 static constexpr const char *NAME =
"compare";
29 static constexpr const char *DESCRIPTION =
"Compare two raster datasets.";
30 static constexpr const char *HELP_URL =
31 "/programs/gdal_raster_compare.html";
33 explicit GDALRasterCompareAlgorithm(
bool standaloneStep =
false);
35 bool IsNativelyStreamingCompatible()
const override
40 bool CanBeLastStep()
const override
46 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
48 bool BinaryComparison(std::vector<std::string> &aosReport,
51 void DatasetComparison(std::vector<std::string> &aosReport,
53 GDALProgressFunc pfnProgress,
void *pProgressData);
55 static void CRSComparison(std::vector<std::string> &aosReport,
58 static void GeoTransformComparison(std::vector<std::string> &aosReport,
62 void BandComparison(std::vector<std::string> &aosReport,
63 const std::string &bandId,
64 bool doBandBasedPixelComparison,
66 GDALProgressFunc pfnProgress,
void *pProgressData);
68 static void MetadataComparison(std::vector<std::string> &aosReport,
69 const std::string &metadataDomain,
73 bool m_skipAllOptional =
false;
74 bool m_skipBinary =
false;
75 bool m_skipCRS =
false;
76 bool m_skipGeotransform =
false;
77 bool m_skipOverview =
false;
78 bool m_skipMetadata =
false;
79 bool m_skipRPC =
false;
80 bool m_skipGeolocation =
false;
81 bool m_skipSubdataset =
false;
90class GDALRasterCompareAlgorithmStandalone final
91 :
public GDALRasterCompareAlgorithm
94 GDALRasterCompareAlgorithmStandalone()
95 : GDALRasterCompareAlgorithm( true)
99 ~GDALRasterCompareAlgorithmStandalone()
override;
Value for an argument that points to a GDALDataset.
Definition gdalalgorithm_cpp.h:149
A set of associated raster bands, usually from one file.
Definition gdal_dataset.h:76
A single raster band (or channel).
Definition gdal_rasterband.h:105
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1087