Sha256: df12a23a682e831206cc11eb7d4218b67332528df198087bc26e3129bddc7077

Contents?: true

Size: 1.21 KB

Versions: 5

Compression:

Stored size: 1.21 KB

Contents

BusFuelControl.class_eval do
  data_miner do
    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 = 1.0 * 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 = 1.0 * 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

5 entries across 5 versions & 1 rubygems

Version Path
earth-0.7.0 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.6.6 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.6.5 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.6.4 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.6.3 lib/earth/bus/bus_fuel_control/data_miner.rb