Sha256: 635f6c549e2334b01d4af5517f008616646e44659f29551b0c24b813bff2a4e3

Contents?: true

Size: 1.47 KB

Versions: 9

Compression:

Stored size: 1.47 KB

Contents

BusFuelControl.class_eval do
  data_miner do
    schema Earth.database_options do
      string 'name'
      string 'bus_fuel_name'
      string 'control'
      float  'ch4_emission_factor'
      string 'ch4_emission_factor_units'
      float  'n2o_emission_factor'
      string 'n2o_emission_factor_units'
    end
    
    import "a list of bus fuel controls",
           :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdEw1QW80VVJhaXRkUURQSFhHczNyVWc&gid=0&output=csv' do
      key   'name'
      store 'bus_fuel_name'
      store 'control'
      store 'ch4_emission_factor', :units_field_name => 'ch4_emission_factor_units'
      store 'n2o_emission_factor', :units_field_name => 'n2o_emission_factor_units'
    end
    
    process "Convert emission factors to metric units" do
      conversion_factor = (1 / 1.609344) * (1.0 / 1_000.0 ) # Google: 1 mile / 1.609344 km * 1 kg / 1000 g
      connection.execute %{
        UPDATE bus_fuel_controls
        SET ch4_emission_factor = ch4_emission_factor * #{conversion_factor},
            ch4_emission_factor_units = 'kilograms_per_kilometre'
        WHERE ch4_emission_factor_units = 'grams_per_mile'
      }
      
      connection.execute %{
        UPDATE bus_fuel_controls
        SET n2o_emission_factor = n2o_emission_factor * #{conversion_factor},
            n2o_emission_factor_units = 'kilograms_per_kilometre'
        WHERE n2o_emission_factor_units = 'grams_per_mile'
      }
    end
    
    # FIXME TODO verify this
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
earth-0.5.0 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.12 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.11 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.10 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.9 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.8 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.7 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.6 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.4.5 lib/earth/bus/bus_fuel_control/data_miner.rb