module ADIWG::Mdtranslator::Readers::Fgdc::MercatorProjection

Public Class Methods

unpack(xParams, hProjection, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_mercator.rb, line 19
def self.unpack(xParams, hProjection, hResponseObj)

   # map projection 4.1.2.1.10 (mercator) - Mercator
   # -> ReferenceSystemParameters.projection.[ standardParallel1 | scaleFactorAtEquator ]
   unless xParams.empty?
      paramCount = 0

      # -> ReferenceSystemParameters.projection.standardParallel1
      # -> ReferenceSystemParameters.projection.standardParallel2
      paramCount += ProjectionCommon.unpackStandParallel(xParams, hProjection)

      # -> ReferenceSystemParameters.projection.scaleFactorAtEquator
      paramCount += ProjectionCommon.unpackSFEquator(xParams, hProjection)

      # -> ReferenceSystemParameters.projection.longitudeOfCentralMeridian
      paramCount += ProjectionCommon.unpackLongCM(xParams, hProjection)

      # -> ReferenceSystemParameters.projection.falseEasting
      # -> ReferenceSystemParameters.projection.falseNorthing
      paramCount += ProjectionCommon.unpackFalseNE(xParams, hProjection)

      # verify parameter count
      if paramCount == 4
         return hProjection
      else
         hResponseObj[:readerExecutionMessages] <<
            'WARNING: Mercator projection is missing one or more parameters'
      end
   end

   return nil

end