class ADIWG::Mdtranslator::Writers::Iso19115_2::MD_CRS
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_crs.rb, line 21 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hParamSet)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_crs.rb, line 26 def writeXML(hParamSet) # classes used idClass = RS_Identifier.new(@xml, @hResponseObj) ellipsoidClass = MD_EllipsoidParameters.new(@xml, @hResponseObj) projectionClass = MD_ProjectionParameters.new(@xml, @hResponseObj) # projection identifier {rsIdentifier} unless hParamSet[:projection].empty? hIdentifier = hParamSet[:projection][:projectionIdentifier] unless hIdentifier.empty? @xml.tag!('gmd:projection') do idClass.writeXML(hIdentifier, 'CRS projection') end end end if @hResponseObj[:writerShowTags] if hParamSet[:projection].empty? @xml.tag!('gmd:projection') elsif hParamSet[:projection][:projectionIdentifier].empty? @xml.tag!('gmd:projection') end end # geodetic ellipsoid identifier {rsIdentifier} unless hParamSet[:geodetic].empty? hIdentifier = hParamSet[:geodetic][:ellipsoidIdentifier] unless hIdentifier.empty? @xml.tag!('gmd:ellipsoid') do idClass.writeXML(hIdentifier, 'CRS geodetic ellipsoid') end end end if @hResponseObj[:writerShowTags] if hParamSet[:geodetic].empty? @xml.tag!('gmd:ellipsoid') elsif hParamSet[:geodetic][:ellipsoidIdentifier].empty? @xml.tag!('gmd:ellipsoid') end end # geodetic datum identifier (horizontal) {rsIdentifier} unless hParamSet[:geodetic].empty? hIdentifier = hParamSet[:geodetic][:datumIdentifier] unless hIdentifier.empty? @xml.tag!('gmd:datum') do idClass.writeXML(hIdentifier, 'CRS geodetic datum') end end end if @hResponseObj[:writerShowTags] if hParamSet[:geodetic].empty? @xml.tag!('gmd:datum') elsif hParamSet[:geodetic][:datumIdentifier].empty? @xml.tag!('gmd:datum') end end # ellipsoid parameters unless hParamSet[:geodetic].empty? @xml.tag!('gmd:ellipsoidParameters') do ellipsoidClass.writeXML(hParamSet[:geodetic]) end end if hParamSet[:geodetic].empty? && @hResponseObj[:writerShowTags] @xml.tag!('gmd:ellipsoidParameters') end # projection parameters unless hParamSet[:projection].empty? @xml.tag!('gmd:projectionParameters') do projectionClass.writeXML(hParamSet[:projection]) end end if hParamSet[:projection].empty? && @hResponseObj[:writerShowTags] @xml.tag!('gmd:projectionParameters') end # vertical datum identifier {rsIdentifier} # mdJSON referenceSystemParameterSet 'verticalDatum' is not used by ISO 19115-2 end