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
45 int GetOutputType()
const override
51 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
53 bool BinaryComparison(std::vector<std::string> &aosReport,
56 void DatasetComparison(std::vector<std::string> &aosReport,
58 GDALProgressFunc pfnProgress,
void *pProgressData);
60 static void CRSComparison(std::vector<std::string> &aosReport,
63 static void GeoTransformComparison(std::vector<std::string> &aosReport,
67 void BandComparison(std::vector<std::string> &aosReport,
68 const std::string &bandId,
69 bool doBandBasedPixelComparison,
71 GDALProgressFunc pfnProgress,
void *pProgressData);
73 static void MetadataComparison(std::vector<std::string> &aosReport,
74 const std::string &metadataDomain,
78 bool m_skipAllOptional =
false;
79 bool m_skipBinary =
false;
80 bool m_skipCRS =
false;
81 bool m_skipGeotransform =
false;
82 bool m_skipOverview =
false;
83 bool m_skipMetadata =
false;
84 bool m_skipRPC =
false;
85 bool m_skipGeolocation =
false;
86 bool m_skipSubdataset =
false;
95class GDALRasterCompareAlgorithmStandalone final
96 :
public GDALRasterCompareAlgorithm
99 GDALRasterCompareAlgorithmStandalone()
100 : GDALRasterCompareAlgorithm( true)
104 ~GDALRasterCompareAlgorithmStandalone()
override;
Value for an argument that points to a GDALDataset.
Definition gdalalgorithm_cpp.h:163
A set of associated raster bands, usually from one file.
Definition gdal_dataset.h:77
A single raster band (or channel).
Definition gdal_rasterband.h:108
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1252