class ADIWG::Mdtranslator::Writers::Iso19115_1::MD_Resolution

Public Class Methods

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

Public Instance Methods

writeXML(hResolution, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_resolution.rb, line 22
def writeXML(hResolution, inContext = nil)

   # classes used
   measureClass = Measure.new(@xml, @hResponseObj)
   fractionClass = MD_RepresentativeFraction.new(@xml, @hResponseObj)

   outContext = 'resolution'
   outContext = inContext + ' resolution' unless inContext.nil?

   # spatial resolution - equivalent scale
   unless hResolution[:scaleFactor].nil?
      @xml.tag!('mri:MD_Resolution') do
         @xml.tag!('mri:equivalentScale') do
            fractionClass.writeXML(hResolution[:scaleFactor], outContext)
         end
      end
   end

   # spatial resolution - distance (when type='distance')
   unless hResolution[:measure].empty?
      hMeasure = hResolution[:measure]
      unless hMeasure.empty?
         if hMeasure[:type] == 'distance'
            @xml.tag!('mri:MD_Resolution') do
               @xml.tag!('mri:distance') do
                  measureClass.writeXML(hMeasure)
               end
            end
         end
      end
   end

   # spatial resolution - angular distance (when type='angle')
   unless hResolution[:measure].empty?
      hMeasure = hResolution[:measure]
      unless hMeasure.empty?
         if hMeasure[:type] == 'angle'
            @xml.tag!('mri:MD_Resolution') do
               @xml.tag!('mri:angularDistance') do
                  measureClass.writeXML(hMeasure)
               end
            end
         end
      end
   end

   # spatial resolution - distance (when type='vertical')
   unless hResolution[:measure].empty?
      hMeasure = hResolution[:measure]
      unless hMeasure.empty?
         if hMeasure[:type] == 'vertical'
            @xml.tag!('mri:MD_Resolution') do
               @xml.tag!('mri:vertical') do
                  measureClass.writeXML(hMeasure)
               end
            end
         end
      end
   end

   # spatial resolution - level of detail (when type='levelOfDetail')
   unless hResolution[:levelOfDetail].nil?
      @xml.tag!('mri:MD_Resolution') do
         @xml.tag!('mri:levelOfDetail') do
            @xml.tag!('gco:CharacterString', hResolution[:levelOfDetail])
         end
      end
   end

end