4 #ifndef LAYERRASTERGDAL_HPP_INCLUDED
5 #define LAYERRASTERGDAL_HPP_INCLUDED
13 #include <boost/thread/mutex.hpp>
15 #include "fire/plugin-impl/connection/rasterImpl/Driver.hpp"
16 #include <fire/source/raster/DriverType.hpp>
17 #include <fire/source/raster/LayerRaster.hpp>
18 #include <fire/gear/geom/MultiPolygon.hpp>
19 #include <fire/gis/data/Size.hpp>
20 #include <boost/thread/condition_variable.hpp>
22 #include "fire/plugin-impl/export.hpp"
25 namespace connection {
26 namespace rasterImpl {
46 const Driver &getDriver()
const;
56 const std::string getName()
const;
61 const std::string getMime()
const;
66 const int getSrid()
const;
76 const int getBandCount()
const;
85 void getBandValuesAt(
gear::geom::Envelope::EnvelopeShp envelope,
const gis::data::Size& step,
const source::raster::InterpolationType::InterpolationType& interptype,
const std::vector< int >& bandindexes, std::vector< double >& band_values);
94 void getBandValuesAt(
double geoX,
double geoY,
const source::raster::InterpolationType::InterpolationType& interptype,
const std::vector<int> &bandindexes, std::vector< double >& band_values);
104 const source::raster::DriverType::DriverType getDriverType()
const;
109 void getNodatavalue(std::vector<double>& nodatavalues)
const;
114 void setNodatavalue(
double newValue);
121 bool _openIf()
const;
126 bool _closeIf()
const;
130 void _computeNodatavalue()
const;
134 void _computeExtent()
const;
138 void _computeSrid()
const;
144 bool _fileExists(std::string& name)
const;
149 const int _getBandCountNoWait()
const;
158 void _getBandValuesAtNoWait(
double geoX,
double geoY,
const source::raster::InterpolationType::InterpolationType& interptype,
const std::vector<int> &bandindexes, std::vector< double >& band_values);
161 std::string _filepath;
163 mutable bool _opened;
164 mutable GDALDatasetH _datasetH;
165 mutable GDALDataset* _dataset;
166 mutable std::auto_ptr< Driver > _driver;
170 mutable std::vector< double > _nodataValues;
171 mutable boost::mutex _mtx;
Definition: EnvelopeSh.hpp:18
Definition: Driver.hpp:19
Definition: LayerRaster.hpp:26
Definition: Geometry.hpp:69
Classe LayerRasterImpl -.
Definition: LayerRasterImpl.hpp:30
Definition: MultiPolygon.hpp:48
Classe contenente le informazioni di dimensione.
Definition: Size.hpp:20