class ADIWG::Mdtranslator::Writers::Iso19115_2::Feature

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb, line 24
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_2
end

Public Instance Methods

writeXML(hGeoObject) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb, line 30
def writeXML(hGeoObject)

   # classes used
   pointClass = Point.new(@xml, @hResponseObj)
   lineClass = LineString.new(@xml, @hResponseObj)
   polyClass = Polygon.new(@xml, @hResponseObj)
   multiPointClass = MultiPoint.new(@xml, @hResponseObj)
   multiLineClass = MultiLineString.new(@xml, @hResponseObj)
   multiPolyClass = MultiPolygon.new(@xml, @hResponseObj)
   geoCollectionClass = GeometryCollection.new(@xml, @hResponseObj)

   # feature - geometry object (required)
   unless hGeoObject.empty?
      id = hGeoObject[:id]
      hProps = hGeoObject[:properties]
      hGeometry = hGeoObject[:geometryObject]
      case hGeometry[:type]
         when 'Point'
            pointClass.writeXML(hGeometry, hProps, id)
         when 'LineString'
            lineClass.writeXML(hGeometry, hProps, id)
         when 'Polygon'
            polyClass.writeXML(hGeometry, hProps, id)
         when 'MultiPoint'
            multiPointClass.writeXML(hGeometry, hProps, id)
         when 'MultiLineString'
            multiLineClass.writeXML(hGeometry, hProps, id)
         when 'MultiPolygon'
            multiPolyClass.writeXML(hGeometry, hProps, id)
         when 'GeometryCollection'
            geoCollectionClass.writeXML(hGeometry, hProps, id)
         else
            @NameSpace.issueNotice(140, "#{hGeometry[:type]}")
      end
   end

end