module GDAL::RasterAttributeTable::Extensions

Public Instance Methods

column(index) click to toggle source

Get column_name, column_usage, column_type as a Hash.

@param index [Integer] @return [Hash]

# File lib/gdal/extensions/raster_attribute_table/extensions.rb, line 24
def column(index)
  {
    name: column_name(index),
    usage: column_usage(index),
    type: column_type(index)
  }
end
columns() click to toggle source

@return [Array<Hash>]

# File lib/gdal/extensions/raster_attribute_table/extensions.rb, line 33
def columns
  each_column.to_a
end
each_column() { |column(i)| ... } click to toggle source

@return [Enumerator] @yieldparam [Hash]

# File lib/gdal/extensions/raster_attribute_table/extensions.rb, line 39
def each_column
  return enum_for(:each_column) unless block_given?

  column_count.times { |i| yield column(i) }
end
set_value(row, field, value) click to toggle source

@param row [Integer] @param field [Integer] @param value [String, Float, Integer]

# File lib/gdal/extensions/raster_attribute_table/extensions.rb, line 11
def set_value(row, field, value)
  case value.class
  when String then set_value_as_string(row, field, value)
  when Float then set_value_as_double(row, field, value)
  when Integer then set_value_as_integer(row, field, value)
  else raise GDAL::UnknownRasterAttributeTableType, "Unknown value type for value '#{value}'"
  end
end