Class: GdalBand
Overview
Class wrapping up a gdal band.
Instance Method Summary collapse
-
#data_type ⇒ Object
returns the datatype.
-
#data_type_pretty ⇒ Object
returns the datatype as a string in a gdal like manner.
-
#initialize(band) ⇒ GdalBand
constructor
A new instance of GdalBand.
-
#read(start_x, start_y, width_x, width_y) ⇒ Object
Reads data.
-
#to_s ⇒ Object
converts to a string for display/print/other .to_s action.
-
#write(start_x, start_y, width_x, width_y, data) ⇒ Object
Writes data.
Methods inherited from GdalStuff
#data_type_from_gdal, #data_type_to_gdal
Constructor Details
#initialize(band) ⇒ GdalBand
Returns a new instance of GdalBand.
68 69 70 |
# File 'lib/gdal_helper.rb', line 68 def initialize( band) @band = band end |
Instance Method Details
#data_type ⇒ Object
returns the datatype
82 83 84 |
# File 'lib/gdal_helper.rb', line 82 def data_type() data_type_from_gdal(@band.DataType) end |
#data_type_pretty ⇒ Object
returns the datatype as a string in a gdal like manner
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/gdal_helper.rb', line 87 def data_type_pretty() type_string = case(@band.DataType) when Gdal::Gdalconst::GDT_UNKNOWN; 'GDT_UNKNOWN' when Gdal::Gdalconst::GDT_BYTE; 'GDT_BYTE' when Gdal::Gdalconst::GDT_UINT16;'GDT_UINT16' when Gdal::Gdalconst::GDT_INT16;'GDT_INT16' when Gdal::Gdalconst::GDT_UINT32; 'GDT_UINT32' when Gdal::Gdalconst::GDT_INT32; 'GDT_INT32' when Gdal::Gdalconst::GDT_FLOAT32; 'IDT_FLOAT32' when Gdal::Gdalconst::GDT_FLOAT64; 'GDT_FLOAT64' when Gdal::Gdalconst::GDT_CINT16; 'GDT_CINT16' when Gdal::Gdalconst::GDT_CINT32; 'GDT_CINT32' when Gdal::Gdalconst::GDT_CFLOAT32; 'GDT_CFLOAT32' when Gdal::Gdalconst::GDT_CFLOAT64; 'GDT_CFLOAT64' else raise ArgumentError("Unknown data type.. not sure what to do here folks", caller) end type_string end |
#read(start_x, start_y, width_x, width_y) ⇒ Object
Reads data
72 73 74 |
# File 'lib/gdal_helper.rb', line 72 def read(start_x, start_y, width_x, width_y) return unpack(width_y*width_x, @band.read_raster(start_x,start_y,width_x,width_y)) end |
#to_s ⇒ Object
converts to a string for display/print/other .to_s action
107 108 109 |
# File 'lib/gdal_helper.rb', line 107 def to_s "#{data_type_pretty}" end |
#write(start_x, start_y, width_x, width_y, data) ⇒ Object
Writes data
77 78 79 |
# File 'lib/gdal_helper.rb', line 77 def write(start_x, start_y, width_x, width_y, data) return @band.write_raster(start_x,start_y,width_x,width_y, pack(data)) end |