class ADIWG::Mdtranslator::Writers::Fgdc::PlanarReference

Public Class Methods

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

Public Instance Methods

writeXML(aSpaceRefs, aRepTypes, aResolutions, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarReference.rb, line 25
def writeXML(aSpaceRefs, aRepTypes, aResolutions, inContext = nil)

   # classes used
   classMap = PlanarMap.new(@xml, @hResponseObj)
   classGrid = PlanarGrid.new(@xml, @hResponseObj)
   classLocal = PlanarLocal.new(@xml, @hResponseObj)
   classInfo = PlanarInformation.new(@xml, @hResponseObj)

   outContext = 'horizontal planar'
   outContext = inContext + ' ' + outContext unless inContext.nil?

   # <- planar 4.1.2 ...
   # <- spatialReferences[].systemParameterSet.projection (map) 4.1.2.1
   # <- spatialReferences[].systemParameterSet.projection (grid) 4.1.2.2
   # <- spatialReferences[].systemParameterSet.projection (localPlanar) 4.1.2.3
   aSpaceRefs.each do |hSpaceRef|
      unless hSpaceRef[:systemParameterSet].empty?
         unless hSpaceRef[:systemParameterSet][:projection].empty?
            hProjection = hSpaceRef[:systemParameterSet][:projection]
            unless hProjection[:gridIdentifier].empty?
               classGrid.writeXML(hProjection, outContext)
               break
            end
            if hProjection[:projectionIdentifier][:identifier] == 'localPlanar'
               classLocal.writeXML(hProjection, outContext)
               break
            end
            classMap.writeXML(hProjection, outContext)
         end
      end
   end

   # planar 4.1.2.4 (planci) - planar coordinate information
   classInfo.writeXML(aRepTypes, aResolutions, outContext)

end