Sha256: b135026b37e707ff23dccbd1c3ab9896e8e456c6d740f6a69167f679d0343b09

Contents?: true

Size: 1.9 KB

Versions: 34

Compression:

Stored size: 1.9 KB

Contents

# GeoJson FeatureCollection
# 19115-2 writer output in XML

# History:
#   Stan Smith 2016-12-06 original script

require_relative 'class_feature'

module ADIWG
    module Mdtranslator
        module Writers
            module Iso19115_2

                class FeatureCollection

                    def initialize(xml, hResponseObj)
                        @xml = xml
                        @hResponseObj = hResponseObj
                    end

                    def writeXML(hGeoObject)

                        # classes used
                        featureClass =  Feature.new(@xml, @hResponseObj)

                        # feature collection attributes
                        attributes = {}

                        # feature collection attributes - gml:id (required)
                        @hResponseObj[:writerMissingIdCount] = @hResponseObj[:writerMissingIdCount].succ
                        objId = 'featureCollection' + @hResponseObj[:writerMissingIdCount]
                        attributes['gml:id'] = objId

                        # feature collection attributes - srsName (GeoJSON is WGS84)
                        attributes[:srsName] = 'WGS84'

                        @xml.tag!('gml:MultiGeometry', attributes) do

                            # geometry collection - geometry objects (required)
                            @xml.tag!('gml:geometryMembers') do
                                unless hGeoObject[:features].empty?
                                    aFeatures = hGeoObject[:features]
                                    aFeatures.each do |hFeature|
                                        featureClass.writeXML(hFeature)
                                    end
                                end
                            end

                        end # gml:MultiGeometry tag
                    end # writeXML
                end # FeatureCollection class

            end
        end
    end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
adiwg-mdtranslator-2.12.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.12.0.pre lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.10.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.9.2 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.9.1 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.9.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.8.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.7.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.6.1 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.6.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.5.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.4.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.5 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.4 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.3 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.2 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.1 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.3.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.2.0 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb
adiwg-mdtranslator-2.1.2 lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb