class ADIWG::Mdtranslator::Writers::Fgdc::PlanarMap
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarMap.rb, line 17 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hProjection, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarMap.rb, line 22 def writeXML(hProjection, inContext = nil) # classes used classTags = MapProjectionTags.new(@xml, @hResponseObj) outContext = 'map projection' outContext = inContext + ' ' + outContext unless inContext.nil? # planar 4.1.2.1 (mapproj) - map projection # <- hProjection.projectionName = oneOf ... projection = hProjection[:projectionIdentifier][:identifier] projectionName = nil if hProjection.key?(:name) projectionName = hProjection[:name] end case projection when 'alaska' @xml.tag!('mapproj') do projectionName = 'Alaska Modified Stereographic' if projectionName.nil? classTags.write_name(projectionName) @xml.tag!('modsak') do classTags.write_falseNE(hProjection, outContext) end end when 'albers' @xml.tag!('mapproj') do projectionName = 'Albers Conical Equal Area' classTags.write_name(projectionName) @xml.tag!('albers') do classTags.write_standParallel(hProjection, outContext) classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'azimuthalEquidistant' @xml.tag!('mapproj') do projectionName = 'Azimuthal Equidistant' classTags.write_name(projectionName) @xml.tag!('azimequi') do classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'equidistantConic' @xml.tag!('mapproj') do projectionName = 'Equidistant Conic' classTags.write_name(projectionName) @xml.tag!('equicon') do classTags.write_standParallel(hProjection, outContext) classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'equirectangular' @xml.tag!('mapproj') do projectionName = 'Equirectangular' classTags.write_name(projectionName) @xml.tag!('equirect') do classTags.write_standParallel(hProjection, outContext) classTags.write_longCM(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'generalVertical' @xml.tag!('mapproj') do projectionName = 'General Vertical Near-sided Perspective' classTags.write_name(projectionName) @xml.tag!('gvnsp') do classTags.write_heightPP(hProjection, outContext) classTags.write_longPC(hProjection, outContext) classTags.write_latPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'gnomonic' @xml.tag!('mapproj') do projectionName = 'Gnomonic' classTags.write_name(projectionName) @xml.tag!('gnomonic') do classTags.write_longPC(hProjection, outContext) classTags.write_latPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'lambertEqualArea' @xml.tag!('mapproj') do projectionName = 'Lambert Azimuthal Equal Area' classTags.write_name(projectionName) @xml.tag!('lamberta') do classTags.write_longPC(hProjection, outContext) classTags.write_latPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'lambertConic' @xml.tag!('mapproj') do projectionName = 'Lambert Conformal Conic' classTags.write_name(projectionName) @xml.tag!('lambertc') do classTags.write_standParallel(hProjection, outContext) classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'mercator' @xml.tag!('mapproj') do projectionName = 'Mercator' classTags.write_name(projectionName) @xml.tag!('mercator') do if hProjection[:scaleFactorAtEquator] classTags.write_scaleFactorE(hProjection, outContext) else classTags.write_standParallel(hProjection, outContext) end classTags.write_longCM(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'miller' @xml.tag!('mapproj') do projectionName = 'Miller Cylindrical' classTags.write_name(projectionName) @xml.tag!('miller') do classTags.write_longCM(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'obliqueMercator' @xml.tag!('mapproj') do projectionName = 'Oblique Mercator' classTags.write_name(projectionName) @xml.tag!('obqmerc') do classTags.write_scaleFactorCL(hProjection, outContext) if hProjection[:obliqueLinePoints].empty? classTags.write_obliqueLineAzimuth(hProjection, outContext) else classTags.write_obliqueLinePoint(hProjection, outContext) end classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'orthographic' @xml.tag!('mapproj') do projectionName = 'Orthographic' classTags.write_name(projectionName) @xml.tag!('orthogr') do classTags.write_longPC(hProjection, outContext) classTags.write_latPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'polarStereo' @xml.tag!('mapproj') do projectionName = 'Polar Stereographic' classTags.write_name(projectionName) @xml.tag!('polarst') do classTags.write_straightFromPole(hProjection, outContext) if hProjection[:standardParallel1] || hProjection[:standardParallel2] classTags.write_standParallel(hProjection, outContext) else hProjection[:scaleFactorAtProjectionOrigin] classTags.write_scaleFactorPO(hProjection, outContext) end classTags.write_falseNE(hProjection, outContext) end end when 'polyconic' @xml.tag!('mapproj') do projectionName = 'Polyconic' classTags.write_name(projectionName) @xml.tag!('polycon') do classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'robinson' @xml.tag!('mapproj') do projectionName = 'Robinson' classTags.write_name(projectionName) @xml.tag!('robinson') do classTags.write_longPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'sinusoidal' @xml.tag!('mapproj') do projectionName = 'Sinusoidal' classTags.write_name(projectionName) @xml.tag!('sinusoid') do classTags.write_longCM(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'spaceOblique' @xml.tag!('mapproj') do projectionName = 'Space Oblique Mercator' classTags.write_name(projectionName) @xml.tag!('spaceobq') do classTags.write_landsat(hProjection, outContext) classTags.write_landsatPath(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'stereographic' @xml.tag!('mapproj') do projectionName = 'Stereographic' classTags.write_name(projectionName) @xml.tag!('stereo') do classTags.write_longPC(hProjection, outContext) classTags.write_latPC(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'transverseMercator' @xml.tag!('mapproj') do projectionName = 'Transverse Mercator' classTags.write_name(projectionName) @xml.tag!('transmer') do classTags.write_scaleFactorCM(hProjection, outContext) classTags.write_longCM(hProjection, outContext) classTags.write_latPO(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'grinten' @xml.tag!('mapproj') do projectionName = 'Van der Grinten' classTags.write_name(projectionName) @xml.tag!('vdgrin') do classTags.write_longCM(hProjection, outContext) classTags.write_falseNE(hProjection, outContext) end end when 'parameters' @xml.tag!('mapproj') do projectionName = 'Map Projection Parameters' classTags.write_name(projectionName) @xml.tag!('mapprojp') do classTags.write_allParams(hProjection, outContext) end end when 'other' @xml.tag!('mapproj') do projectionName = 'Other Projection Description' classTags.write_name(projectionName) classTags.write_otherProjection(hProjection, outContext) end end end