class ADIWG::Mdtranslator::Writers::Iso19115_2::ConventionalUnit
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb, line 14 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hConv)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb, line 19 def writeXML(hConv) # create and identity for the unit @hResponseObj[:writerMissingIdCount] = @hResponseObj[:writerMissingIdCount].succ unitID = 'unit' + @hResponseObj[:writerMissingIdCount] @xml.tag!('gml:ConventionalUnit', {'gml:id' => unitID}) do @xml.tag!('gml:identifier', {'codeSpace' => hConv[:codeSpace]}, hConv[:identifier]) @xml.tag!('gml:name', hConv[:name]) @xml.tag!('gml:catalogSymbol', hConv[:catalogSymbol]) @xml.tag!('gml:conversionToPreferredUnit', {'uom' => hConv[:preferredUnit]}) do # two methods of conversion are available # factor and formula if !hConv[:factor].nil? # factor: # y = factor * x # y is in preferred units # x is in provided units # factor is conversion to preferred units @xml.tag!('gml:factor', hConv[:factor]) else # formula: # y = (a + bx) / (c + dx) # y is in preferred units # x is in provided units # a,b,c,d are constants to convert to preferred units @xml.tag!('gml:formula') do @xml.tag!('gml:a', hConv[:a]) @xml.tag!('gml:b', hConv[:b]) @xml.tag!('gml:c', hConv[:c]) @xml.tag!('gml:d', hConv[:d]) end end end end end