Module: GDAL::RasterAttributeTable::Extensions

Included in:
GDAL::RasterAttributeTable
Defined in:
lib/gdal/extensions/raster_attribute_table/extensions.rb

Instance Method Summary collapse

Instance Method Details

#column(index) ⇒ Hash

Get column_name, column_usage, column_type as a Hash.

Parameters:

Returns:

  • (Hash)


24
25
26
27
28
29
30
# 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

#columnsArray<Hash>

Returns:

  • (Array<Hash>)


33
34
35
# File 'lib/gdal/extensions/raster_attribute_table/extensions.rb', line 33

def columns
  each_column.to_a
end

#each_column {|| ... } ⇒ Enumerator

Yield Parameters:

  • (Hash)

Returns:

  • (Enumerator)


39
40
41
42
43
# 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) ⇒ Object

Parameters:



11
12
13
14
15
16
17
18
# 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