Sirius  0.0.0
resampled_output_stream.h
Go to the documentation of this file.
1 
22 #ifndef SIRIUS_GDAL_RESAMPLED_OUTPUT_STREAM_H_
23 #define SIRIUS_GDAL_RESAMPLED_OUTPUT_STREAM_H_
24 
25 #include <system_error>
26 
27 #include "sirius/types.h"
28 
30 #include "sirius/gdal/types.h"
31 
32 namespace sirius {
33 namespace gdal {
34 
39  public:
40  ResampledOutputStream(const std::string& input_path,
41  const std::string& output_path,
42  const ZoomRatio& zoom_ratio);
43 
44  ~ResampledOutputStream() = default;
49 
55  void Write(StreamBlock&& block, std::error_code& ec);
56 
57  private:
58  gdal::DatasetUPtr output_dataset_;
59  ZoomRatio zoom_ratio_;
60 };
61 
62 } // namespace gdal
63 } // namespace sirius
64 
65 #endif // SIRIUS_GDAL_RESAMPLED_OUTPUT_STREAM_H_
Definition: exception.h:27
ResampledOutputStream & operator=(const ResampledOutputStream &)=delete
std::unique_ptr<::GDALDataset, detail::DatasetDeleter > DatasetUPtr
Definition: types.h:45
ResampledOutputStream(const std::string &input_path, const std::string &output_path, const ZoomRatio &zoom_ratio)
Data class that represents zoom ratio as input_resolution/output_resolution.
Definition: types.h:105
Stream block.
Definition: stream_block.h:33
void Write(StreamBlock &&block, std::error_code &ec)
Write a zoomed block in the output file.
Write a resampled image by block.
Definition: resampled_output_stream.h:38