class ADIWG::Mdtranslator::Writers::Iso19115_2::Attribute

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attribute.rb, line 18
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
end

Public Instance Methods

writeXML(hAttribute) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attribute.rb, line 23
def writeXML(hAttribute)

   # classes used
   rangeClass = MD_RangeDimension.new(@xml, @hResponseObj)
   mdBandClass = MD_Band.new(@xml, @hResponseObj)
   miBandClass = MI_Band.new(@xml, @hResponseObj)

   # determine attribute classes to write
   if !(hAttribute[:bandBoundaryDefinition].nil? &&
      hAttribute[:nominalSpatialResolution].nil? &&
      hAttribute[:transferFunctionType].nil? &&
      hAttribute[:transmittedPolarization].nil? &&
      hAttribute[:detectedPolarization].nil?)
      dimClass = 'gmi:MI_Band'
   elsif !(hAttribute[:maxValue].nil? &&
      hAttribute[:minValue].nil? &&
      hAttribute[:units].nil? &&
      hAttribute[:peakResponse].nil? &&
      hAttribute[:bitsPerValue].nil? &&
      hAttribute[:toneGradations].nil? &&
      hAttribute[:scaleFactor].nil? &&
      hAttribute[:offset].nil?)
      dimClass = 'gmd:MD_Band'
   else
      dimClass = 'gmd:MD_RangeDimension'
   end

   @xml.tag!(dimClass) do

      if dimClass == 'gmi:MI_Band'
         rangeClass.writeXML(hAttribute)
         mdBandClass.writeXML(hAttribute)
         miBandClass.writeXML(hAttribute)
      elsif dimClass =='gmd:MD_Band'
         rangeClass.writeXML(hAttribute)
         mdBandClass.writeXML(hAttribute)
      else
         rangeClass.writeXML(hAttribute)
      end

   end # dimClass tag

end